这是一个MD5工具类
package org.fkjava.util;
import java.math.BigInteger;
import java.security.MessageDigest;
public class MD5 {
public static String getMD5(String str){
try{
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(str.getBytes());
return new BigInteger(1,md.digest()).toString(16);
}catch(Exception e){
e.printStackTrace();
return null;
}
}
public static void main(String[] args){
String md5 = getMD5("123456");
System.out.println(md5);
byte[] password = md5.getBytes();
for(int i = 0;i<password.length;i++)
System.out.println("口令字节数组:"+password[i]);
}
}
打印的结果为
但是我用计算器算了一下,“e1”是16进制,换成10进制应该是225,为什么我打印出来的是101呢,是代码哪里有问题吗?