确定PHP 7.4中将使用PASSWORD_DEFAULT

问题描述 投票:0回答:1

仅在使用password_hash()之前,我检查PASSWORD_DEFAULT === PASSWORD_BCRYPT看看是否需要对密码进行散列化之前对其进行一些清除(Argon2不需要此)。

我只是先通过快速哈希将其传递,因为bcrypt存在NULL字符和密码长度超过72个字符(more infoa different example)的问题。

但是在PHP 7.4中,常量PASSWORD_DEFAULT现在设置为NULL

那么我怎么知道将使用哪种算法password_hash()

php password-hash php-7.4
1个回答
0
投票

这是一个有趣的问题,我认为尚无标准功能。这不是一个大问题,因为哈希本身包含一个标识符,该标识符告诉我们使用了哪种哈希算法。这里要注意的重要一点是PASSWORD_DEFAULTconstant。常数不变。

要弄清楚在使用默认常量(过去是,现在仍然是bcrypt)时使用哪种算法,您需要生成一些虚拟散列并查看其开头。我们甚至可以使用一个不错的辅助函数password_get_info()

password_get_info()
© www.soinside.com 2019 - 2024. All rights reserved.