如何比较两个bcrypt密码
$pass1 = '$2y$10$ooPG9s1lcwUGYv1nqeyNcO0ccYJf8hlhm5dJXy7xoamvgiczXHB7S';
还有
$pass2 = '$2y$10$QRgaiS6bpATKKQeT22zGKuHq.edDfXQc2.4B3v.zaN.GtGwoyQuMy';
$pass1和$pass2都是“测试”的加密。
如何不使用文本'test'来检查是否相等
$hash1 = Hash::make('test');
$hash2 = Hash::make('test');
var_dump(Hash::check('test', $hash1) && Hash::check('test', $hash2));
5条答案
按热度按时间pgky5nke1#
zynd9foi2#
实际上,你不能直接将两个加密的bcrypt密码作为字符串进行比较,因为加密包含了盐,这使得每次的哈希值都不同。
vnjpjtjt3#
您可以简单地使用
Hash::check()
方法,例如:参考https://laravel.com/docs/5.5/hashing
mkh04yzy4#
您可以尝试以下方法:
PHP Manual on crypt(参考:实施例1)
lvjbypge5#
你可以比较哈希加密密码使用**
Hash
.但是注意,在该方法中,第一值应该是
plain-text
,第二值应该是bcrypt
**。