Как мне скопировать хэш sha256 с помощью соли с помощью командной строки OpenSSL?

Используя PHP-функцию crypt следующим образом, я могу сделать хеш sha256 с солью и несколькими раундами.

php -r "echo crypt('foo','\$5\$rounds=5000\$saltsaltsaltsalt');"

производит:

$5$rounds=5000$saltsaltsaltsalt$5RbfsOruKYb8v7hGn29A.I91maopNeJ2nIFH.SIEnSC

Как я могу выполнить этот точный процесс (и / или проверить хеш) с помощью программы командной строки OpenSSL?

1 ответ

Решение

Этот алгоритм хэширования пароля довольно сложен - см. Полное описание: http://www.akkadia.org/drepper/SHA-crypt.txt.

К сожалению, openssl passwd Команда в настоящее время не поддерживает это - есть поддержка только для старых основанных на DES crypt(), основанных на MD5 crypt () и Apache apr1 вариант соленых хэшей MD5. Существует отчет об ошибке Debian, запрашивающий поддержку хэширования пароля SHA-256/512, но в настоящее время ничего не сделано.

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