我目前正在做一个非常安全的登录系统,但我是 crypt() 函数的新手,需要一些快速帮助。
我在注册过程中使用 crypt() 加密密码字符串并将其保存到数据库中。但是,我如何在登录过程中解密密钥?或者我应该怎么做?或者是否可以对提交的密码字符串进行一些魔法,将其与数据库中的加密密钥进行比较?
crypt()
不加密密码,它hashes他们。根本的区别是,你无法取回哈希密码(想想薯饼 - 如果你有薯饼,你就无法取回土豆)。
因此,您对输入应用相同的函数,并将其结果与数据库中存储的值进行比较:
$stored_pw = get_hashed_password_from_db($_POST['username']);
crypt($_POST['password'], $stored_pw) == $stored_pw
阅读文档关于crypt() http://php.net/manual/function.crypt.php了解上述代码背后的“魔力”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)