【发布时间】:2021-09-28 07:57:55
【问题描述】:
我已经编写了一个代码来生成一个 MD5,但不幸的是它每次都会为同一个字符串生成一个新的 MD5。谁能帮忙。
代码如下:
public static byte[] getHash(String[] constants)
{
MessageDigest md= MessageDigest.getInstance("MD5");
StringBuilder toBeHashed=new StringBuidler();
for(String c: constants)
{
toBeHashed.append(c);
}
return md.digest(toBeHashed.toString().getBytes());
}
驱动代码:
byte[] hash=MyClass.getHash(new String[] {"01L488213P9579","2021-31-31"});
谁能帮忙告诉我我写的代码是否正确?是不是因为新的String数组,我每次都经过?
【问题讨论】:
-
您确定每次都传递相同的字符串吗?请提供显示问题的代码,以便我们重现它。即提供一个调用getHash的函数,对同一个String给出不同的输出。
-
是的,我使用的是同一个字符串,我的字符串是“01L488213P95792021-31-31”
-
再次,请附上显示问题的代码,完整的输入和完整的输出。
-
您好已添加代码,请立即查看..
-
那么如何为字符串数组创建 md5 哈希?我只是在我的驱动程序代码中打印哈希,它就像 B@12.. 一样,每次都是新的
标签: java string hash java-8 md5