小弟我的MD5加密出来的如何不一样
我的MD5加密出来的怎么不一样?public static String encryptMD5(String data) throws Exception {MessageD
我的MD5加密出来的怎么不一样?
public static String encryptMD5(String data) throws Exception {
MessageDigest md5 = MessageDigest.getInstance(KEY_MD5);
md5.update(data.getBytes());
BigInteger bi = new BigInteger(md5.digest());
return bi.toString(16);
}
用的MessageDigest 类。
加密字符串a 结果是 cc175b9c0f1b6a831c399e269772661 网上是0cc175b9c0f1b6a831c399e269772661
[解决办法]你用biginteger这样转的话 如果第一个个字符ascii码小于16的话 那么它转16进制的话会忽略掉前面的0 比如两个ascii码 是14和15 那么转出来的结果是e0f 而我们需要的是0e0f 这样说能明白不?