MD5哈希不创建所有字符

时间:2012-07-20 20:03:15

标签: md5

我使用MD5哈希来加密程序的密码。但它并没有创造出所有的角色,而且有些角色是不可读的。 这是一个截图。 链路 - http://i46.tinypic.com/2qvf2o2.jpg

感谢任何帮助

由于 IMG http://i46.tinypic.com/2qvf2o2.jpg

3 个答案:

答案 0 :(得分:2)

据推测,您希望将MD5返回的字节数组转换为十六进制字符串以供显示。类似 d131dd02c5e6eec4

以下是你如何做到这一点:

In Java, how do I convert a byte array to a string of hex digits while keeping leading zeros?

答案 1 :(得分:0)

您将MD5返回的字节解释为原始字符数据 由于MD5不返回表示字符的字节,因此会得到无意义的结果。

答案 2 :(得分:0)

您获得的是二进制值。因此,它是一堆原始字节,可能会也可能不会映射到默认代码页中的有效字符。你应该做的是将byte []转换为hex。您可以使用Apache Commons Codec之类的东西来编码。 http://commons.apache.org/codec/apidocs/org/apache/commons/codec/binary/Hex.html#encodeHex(字节[])