PHP 的 password_hash 是否符合 FIPS 标准?

Is PHP's password_hash FIPS compliant?

我相信 hash('sha256', $pw) 符合 FIPS,但我确信使用该功能可能会成为攻击媒介。此外,没有盐(所以我不得不遇到那个实现,我宁愿不遇到)。 password_hash/password_verify 是否符合 FIPS 标准?

没有。

  1. FIPS 140-2 does not certify password hashing algorithms. 因此,password_hash 不能符合 FIPS,因为 FIPS 根本不适用于它。

  2. 据我所知,hash() 使用的哈希实现(属于 PHP 核心的一部分)尚未通过 FIPS 认证。如果您特别需要符合 FIPS 的实现,并且安装了符合 FIPS 的 OpenSSL 库,则可以使用 openssl_digest() 作为替代方案。 (但是,请记住,这不是一种存储密码的安全方法,即使加了盐!)