在我的作业中,我需要使用MessageDigest和DatatypeCoverter为密码生成MD5哈希,我能够从输入密码生成MD5哈希,并且它的字符串如下:
input: minh
hash: C92F1D1F2619172BF87A12E5915702A6
但另一个要求是从输入密码生成哈希,但哈希只包含数字或字符。我一直在寻找解决方案,我该怎么办?
答案 0 :(得分:1)
你已经有一个"号码" - 因为MD5摘要只是数字。如果你必须"显示"它们作为数字,您可以使用String,int构造函数new BigInteger(str,16);
(它是字符串中的基数为16的数字)将MD5存储为BigInteger。
如果您需要十进制表示,可以使用BigInteger的toString
方法;十六进制表示 - 或任何基数,确实 - 可以通过使用toString(int)
重载来获得。整数是'基数'你想表示数字。