Получение разных хешей из двух одинаковых строк

Я провожу некоторые эксперименты с хешированием. У меня проблема при выполнении простого теста.

Это мой код:

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

Что я делаю неправильно? Я знаю, что в некоторых шифрах SHA256 из Intenet я знаю, что

42ad28944380f770cf17432c3494c07c32f680173b42c3562888f096e738ef7a

правильный хеш для "qwerty2" с использованием SHA256.

1 ответ

Решение

Ваша последняя строка:

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

эффективно:

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

т.е. вы печатаете хеш хеша.

Другие вопросы по тегам