Используя функцию шифрования PHP следующим образом, я могу сделать хеш sha256 с солью и несколькими раундами.
php -r "echo crypt('foo','\$5\$rounds=5000\$saltsaltsaltsalt');"
производит:
$5$rounds=5000$saltsaltsaltsalt$5RbfsOruKYb8v7hGn29A.I91maopNeJ2nIFH.SIEnSC
Как я могу выполнить этот точный процесс (и / или проверить хэш) с помощью программы командной строки OpenSSL?
Этот алгоритм хеширования паролей довольно сложен - см. Полное описание: http://www.akkadia.org/drepper/SHA-crypt.txt.
К сожалению, openssl passwd
команда в настоящее время не поддерживает его - есть поддержка только для старых crypt () на основе DES, crypt () на основе MD5 и Apache apr1
вариант солёных хэшей MD5. Eсть Отчет об ошибке Debian запрашивает поддержку хэша паролей SHA-256/512, но в настоящее время ничего не сделано.