当前位置: 代码迷 >> J2EE >> 小弟我的MD5加密出来的如何不一样
  详细解决方案

小弟我的MD5加密出来的如何不一样

热度:57   发布时间:2016-04-21 23:03:26.0
我的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 这样说能明白不?
  相关解决方案