Java计算MD5哈希

AndyAndroid:

http://www.anyexample.com/programming/java/java_simple_class_to_compute_md5_hash.xml中,给出了如何计算String的MD5哈希的示例。结果为20位十六进制字符串。根据http://en.wikipedia.org/wiki/MD5,我希望使用32位十六进制字符串。例如,在如何生成MD5哈希中,使用dac2009响应得到相同的结果

为什么我得到的东西看起来像是MD5哈希值却不是?我无法想象我得到的所有字符串都必须用12个前导零填充。

编辑:一个代码示例

public static String MungPass(String pass) throws NoSuchAlgorithmException {
    MessageDigest m = MessageDigest.getInstance("MD5");
    byte[] data = pass.getBytes(); 
    m.update(data,0,data.length);
    BigInteger i = new BigInteger(1,m.digest());
    return String.format("%1$032X", i);
}

取自http://snippets.dzone.com/posts/show/3686

马丁·考特(Martijn Courteaux):

您一定缺少什么。链接的代码很好。确保问题无处不在,与显示结果有关。可能性:

  • 在GUI中太小
  • 在具有多线程问题的控制台中
  • 通过即将被切断的网络软件包
  • 你切的长度20,而不是0x20,这是32

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章