public static void main(String arg[]){
String myinfo="我的测试信息";
MessageDigest alg = null;
try {
alg = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
alg.update(myinfo.getBytes());
byte[] digesta=alg.digest();
System.out.println(digesta);
}执行好控制台打出:[B@bc8e1e
[B@bc8e1e 不是MD5吧。
MD5不是32或16位的吗?
9ebab2a5-ad38-4e2e-8f97-0e6ce7526d05
这种效果,
MD5加密过的事没有-的
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class Test {
public static void main(String arg[]) {
String myinfo = "我的测试信息";
MessageDigest alg = null;
try {
alg = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
alg.update(myinfo.getBytes());
byte[] digesta = alg.digest();
System.out.println(digesta);
System.out.println(Test.byte2Hex(digesta));
} static String byte2Hex(byte[] paramArrayOfByte) {
StringBuffer localStringBuffer = new StringBuffer();
String str = "";
for (int i = 0; i < paramArrayOfByte.length; ++i) {
str = Integer.toHexString(paramArrayOfByte[i] & 0xFF);
if (str.length() == 1)
localStringBuffer.append("0");
localStringBuffer.append(str);
}
return localStringBuffer.toString().toUpperCase();
}
}