php – 我无法比较我的数据库和输入的密码
发布时间:2020-12-13 13:10:35 所属栏目:PHP教程 来源:网络整理
导读:我使用php crypt函数来确保密码安全,但是当我尝试将输入的密码与数据库中的密码进行比较时,它将无法正常工作. 这是我在第一时间创建密码的代码: $crypt_password = crypt($_POST['confirm-password']); 这是我试图与另一个函数中的密码进行比较: $input_cr
我使用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()函数来比较密码. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |