如何仅使用数字或仅使用java中的字符生成MD5哈希

时间:2017-10-17 04:50:50

标签: java hash

在我的作业中,我需要使用MessageDigest和DatatypeCoverter为密码生成MD5哈希,我能够从输入密码生成MD5哈希,并且它的字符串如下:

input: minh
hash: C92F1D1F2619172BF87A12E5915702A6

但另一个要求是从输入密码生成哈希,但哈希只包含数字或字符。我一直在寻找解决方案,我该怎么办?

1 个答案:

答案 0 :(得分:1)

你已经有一个"号码" - 因为MD5摘要只是数字。如果你必须"显示"它们作为数字,您可以使用String,int构造函数new BigInteger(str,16);(它是字符串中的基数为16的数字)将MD5存储为BigInteger。

如果您需要十进制表示,可以使用BigInteger的toString方法;十六进制表示 - 或任何基数,确实 - 可以通过使用toString(int)重载来获得。整数是'基数'你想表示数字。