我正在进行散列实验。我在做一个简单的测试时遇到了问题。
这是我的代码:
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。
答案 0 :(得分:2)
你的最后一行:
System.out.println(DigestUtils.sha256Hex(sha256hex));
实际上是:
System.out.println(DigestUtils.sha256Hex(DigestUtils.sha256Hex(newWord)));
即。你打印哈希的哈希值。