Хеширование с помощью Google Guava при выводе Java строчными буквами при выводе на сайт хеш-сайтов в верхнем регистре - PullRequest
0 голосов
/ 30 ноября 2018

Я хэширую пароль в Java, используя Google Hashing.

password = Hashing
        .sha256()
        .hashString(input, StandardCharsets.UTF_8)
        .toString();

Когда я передаю какой-либо текст в эту строку, он хэширует и выводит все с символами в нижнем регистре, например, если я передаю «foo», значение password становится:

2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae

Однако, если я использую этот сайт для хеширования "foo", значение, которое он выводит, будет

2C26B46B68FFC68FF99B453C1D30413413422D706483BFA0F98A5E886266E7AE

Насколько я могу судить, это точно такой же пароль, кромес заглавными буквами вместо строчных.

Что заставляет их выводить разные значения, и как я могу получить гуаву для вывода с заглавными буквами (без простого вызова toUpperCase, если это не единственный способ)

1 Ответ

0 голосов
/ 30 ноября 2018

Основная причина, по которой Гуава создает строку результата в нижнем регистре, заключается в реализации: com.google.common.hash.HashCode.toString() метода .

Вы можете просто вызвать метод toUpperCase(),из класса String, в вашем хеш-строке результата:

password = Hashing
        .sha256()
        .hashString(input, StandardCharsets.UTF_8)
        .toString()
        .toUpperCase();
...