Получение разных хешей из двух одинаковых строк
Я провожу некоторые эксперименты с хешированием. У меня проблема при выполнении простого теста.
Это мой код:
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)));
т.е. вы печатаете хеш хеша.