Как воспроизвести php Crypt () в Java для пользовательских раундов sha256 - PullRequest
0 голосов
/ 05 апреля 2019

У меня есть php-скрипт, который хранит crypt() результаты с пользовательскими округлениями до 10000 и некоторой уже существующей солью.

Код выглядит так:

echo crypt('rasmuslerdorf', '$5$rounds=10000$usesomesillystringforsalt$');

И выводis

$ 5 $ rounds = 10000 $ использует somesillystri $ CaVZTpnmHfz9Fi6zjGJmSAAwwABsSqSJbtzdlfvVC10

Ведьма не является хешем ни в гекса, ни в бинарном формате * 3 *, а в двоичном коде, как представляется, выводится как двоичный код.

Вопрос в том, «Как получить эту же строку для одного и того же ввода в Java?»

На данный момент все протестированные ответы MessageDigest & SO не работают, так как они печатают непосредственно хеш в hexa (ака много боли сравнивать).

1 Ответ

0 голосов
/ 05 апреля 2019

Хорошо, наконец-то удалось найти способ получить тот же вывод.

Использование Apache Commons Crypt Я получаю такой же вывод с солью и всем остальным.

import org.apache.commons.codec.digest.Crypt;
return Crypt.crypt("rasmuslerdorf", "$5$rounds=10000$usesomesillystringforsalt$");

достанешь мне мой:

$ 5 $ округляет = 10000 $ usesomesillystri $ CaVZTpnmHfz9Fi6zjGJmSAAwwABsSqSJbtzdlfvVC10

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...