读书人

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

发布时间: 2013-07-11 15:38:46 作者: rapoo

我的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 这样说能明白不?

读书人网 >J2EE开发

热点推荐