php - 使用 crypt() 加密

标签 php passwords hash

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

我在注册过程中使用 crypt() 对密码字符串进行加密并将其保存到数据库中。但是,我如何才能在登录期间解密 key ?或者我应该怎么做?或者是否可以对提交的密码字符串施展魔法,将其与数据库中的加密 key 进行比较?

最佳答案

crypt() 不加密密码,它哈希它们。根本区别在于,您无法找回经过哈希处理的密码(想想炸薯饼 - 如果您有炸薯饼,就无法找回土 bean )。

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

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

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

关于php - 使用 crypt() 加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8195689/

相关文章:

hash - 简单的(编码)安全哈希函数

php - 如何使用 Javascript 捕获后退和前进按钮并刷新?

php - 如何加密密码使其不易被破解?

Java 1.5 命令行密码屏蔽

python - 在 python 中以 root 身份运行子进程命令

php - MySQL 唯一哈希插入

php - 正则表达式匹配用户名的复杂条件

javascript - jQuery - 将相同的变量发送到两个不同的 PHP 页面

php - 用英文字母替换土耳其字母

algorithm - 给定数字可以组成的最大数