PHP-使用crypt()加密

我目前正在做一个非常安全的登录系统,但是我是crypt()函数的新手,需要快速帮助.

我在注册期间使用crypt()加密密码字符串并将其保存到数据库中.但是,如何在登录期间解密密钥?或者我应该怎么做?还是可能会对提交的密码字符串做一些魔术,以将其与数据库中的加密密钥进行比较?

解决方法:

crypt()不加密密码,而是对其进行哈希处理.根本的区别是,您不能找回哈希密码(想想哈希布朗-如果您有哈希布朗,就不能找回土豆).

因此,您将相同的函数应用于输入,并将其结果与数据库中存储的值进行比较:

$stored_pw = get_hashed_password_from_db($_POST['username']);
crypt($_POST['password'], $stored_pw) == $stored_pw

阅读documentation on crypt(),以了解上述代码背后的“魔力”.

上一篇:AtCoder Beginner Contest 230 A ~ G 题解


下一篇:使用Python更改Windows密码