从两个相同的字符串中获取不同的哈希

时间:2018-02-17 14:03:27

标签: java hash sha256

我正在进行散列实验。我在做一个简单的测试时遇到了问题。

这是我的代码:

String newWord = readFile("C:\\Users\\javip\\Desktop\\Workspace SSII\\listado-general.txt").get(5);
System.out.println(newWord);
String qwerty = "qwerty2";
System.out.println(qwerty);
System.out.println(newWord.equals(qwerty));
String sha256hex = DigestUtils.sha256Hex(newWord); 
System.out.println(DigestUtils.sha256Hex(qwerty));
System.out.println(DigestUtils.sha256Hex(sha256hex));

这就是我的控制台打印的内容:

qwerty2
qwerty2
true
42ad28944380f770cf17432c3494c07c32f680173b42c3562888f096e738ef7a
ebd11cf2e1a82248edff75899ba331ffa35787c070767da0c695bba8e2be5355

我做错了什么?我知道在Intenet的一些SHA256加密器中的混淆

  

42ad28944380f770cf17432c3494c07c32f680173b42c3562888f096e738ef7a

是" qwerty2"的正确哈希值使用SHA256。

1 个答案:

答案 0 :(得分:2)

你的最后一行:

System.out.println(DigestUtils.sha256Hex(sha256hex));

实际上是:

System.out.println(DigestUtils.sha256Hex(DigestUtils.sha256Hex(newWord)));

即。你打印哈希的哈希值。