Aliskin Asked:2020-12-10 20:28:45 +0800 CST2020-12-10 20:28:45 +0800 CST 2020-12-10 20:28:45 +0800 CST password_hash() 什么时候返回错误? 772 在什么情况下 password_hash() 会返回错误?我只想到了一种情况:如果服务器没有请求的(函数中指定的)加密算法。 是这样吗?在其他什么情况下它会返回错误? 告诉我 password_verify 函数的模拟 PHP 函数输出支持的哈希算法 password_hash() 什么时候返回错误? php 1 个回答 Voted Best Answer Мелкий 2020-12-10T21:10:55+08:002020-12-10T21:10:55+08:00 让我们进入函数的源码,它并没有看起来那么可怕。 基本上,当函数调用不正确时会返回错误。比如你猜对了,哈希方法不对。或者成本参数超出范围。检查了许多已经弃用的盐参数。 一个有趣的检查是,如果它crypt生成 NULL 或者结果小于 13 个字节,那么这也是一个错误,将被返回false。但是当它crypt可以做到这一点时 - 它没有以任何方式记录(并且 enSO通过指向几个错误报告的链接证实了这一点),而且我在密码学方面太弱而无法点亮它的源代码。
让我们进入函数的源码,它并没有看起来那么可怕。
基本上,当函数调用不正确时会返回错误。比如你猜对了,哈希方法不对。或者成本参数超出范围。检查了许多已经弃用的盐参数。
一个有趣的检查是,如果它
crypt
生成 NULL 或者结果小于 13 个字节,那么这也是一个错误,将被返回false
。但是当它crypt
可以做到这一点时 - 它没有以任何方式记录(并且 enSO通过指向几个错误报告的链接证实了这一点),而且我在密码学方面太弱而无法点亮它的源代码。