я верю hash('sha256', $pw)
совместим с FIPS, но я точно знаю, что вектор атаки возможен при использовании этой функции. Кроме того, нет соли (так что я бы столкнулся с этой реализацией, и я бы не хотел). Является password_hash
/password_verify
Соответствует FIPS?
Нет.
FIPS 140-2 не сертифицирует алгоритмы хеширования паролей. В качестве таких, password_hash
не может быть FIPS-совместимым, потому что FIPS просто не применяется к нему.
Насколько мне известно, хэш-реализации, используемые hash()
(которые являются частью ядра PHP) не были сертифицированы FIPS. Если вам конкретно требуется реализация, совместимая с FIPS, и у вас установлена библиотека OpenSSL, совместимая с FIPS, вы можете использовать openssl_digest()
как альтернатива. (Однако помните, что это небезопасный способ хранения паролей, даже с солью!)
Других решений пока нет …