我正在使用 MD5 散列来加密程序的密码。但它并没有创造出所有的角色,而且对一些人来说是不可读的。这是一个屏幕截图。链接- http://i46.tinypic.com/2qvf2o2.jpg
任何帮助表示赞赏
我正在使用 MD5 散列来加密程序的密码。但它并没有创造出所有的角色,而且对一些人来说是不可读的。这是一个屏幕截图。链接- http://i46.tinypic.com/2qvf2o2.jpg
任何帮助表示赞赏
大概您想将 MD5 返回的字节数组转换为十六进制字符串以进行显示。像d131dd02c5e6eec4这样的东西。
您可以这样做:
您将 MD5 返回的字节解释为原始字符数据。
由于 MD5 不返回表示字符的字节,因此您得到的结果毫无意义。
你得到的是一个二进制值。所以这是一堆原始字节,可能会或可能不会映射到默认代码页中的有效字符。您应该做的是将 byte[] 转换为十六进制。您可以使用 Apache Commons Codec 之类的东西对其进行编码。http://commons.apache.org/codec/apidocs/org/apache/commons/codec/binary/Hex.html#encodeHex(byte[])