php – 我无法比较我的数据库和输入的密码

前端之家收集整理的这篇文章主要介绍了php – 我无法比较我的数据库和输入的密码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用PHP crypt函数来确保密码安全,但是当我尝试将输入的密码与数据库中的密码进行比较时,它将无法正常工作.

这是我在第一时间创建密码的代码

$crypt_password = crypt($_POST['confirm-password']);

这是我试图与另一个函数中的密码进行比较:

$input_crypt_password = crypt($_POST['input-pw']);

if ($input_crypt_password == $dbpassword){
    // do change password function
}

这不起作用.

当我打印两个密码时,它们是不同的.

为什么密码不同,即使我输入相同的密码并在两者上都使用crypt功能

任何人都能指出我正确的方向吗?

我不知道该怎么说会增加比其他人已经说过的更多细节…

因此,在现代的散列/解散算法中,使用标准散列函数(例如MD5 / SHA256)存储密码是不安全的,因为它可以快速轻松地取消这种类型的条目.

在其他答案和评论中引用的password_hash()应该是安全存储密码的第一种方式,因为它使用单向散列算法.

You should read this page!

然后在回答您的原始问题时,使用hash_equals()函数来比较密码.

原文链接:https://www.f2er.com/php/136588.html

猜你在找的PHP相关文章