gpt4 book ai didi

php - 在 CodeIgniter 中使用 ion auth 进行密码验证

转载 作者:可可西里 更新时间:2023-11-01 13:12:08 25 4
gpt4 key购买 nike

我几乎完成了一个使用 codeigniter 和 ion_auth 进行身份验证的项目。我无法弄清楚这个小问题:

当用户想要更改密码时,我有字段 OLD_PASSWORD 和 NEW_PASSWORD。 OLD_PASSWORD 必须与数据库的密码 (DB_PASSWORD) 匹配。但我不知道密码是如何加密存储在数据库中的。显然,OLD_PASSWORD 永远不会与 DB_PASSWORD 匹配。

我没有更改 ION_AUTH 库的任何默认加密。我尝试了 sha1() 函数,但它与加密不匹配。与 md5() 相同,不再建议将其用于加密密码。

任何人都可以为我照亮这个吗?

最佳答案

Ion auth 创建者在这里。

为了向后兼容,默认加密很遗憾地使用 SHA1。

配置中有一个选项可以改为使用 BCrypt,强烈推荐。

虽然密码与盐一起被散列,但简单地对密码运行 SHA1 不会给你相同的结果。查看 hash_password() 方法以了解它是如何完成的:https://github.com/benedmunds/CodeIgniter-Ion-Auth/blob/2/models/ion_auth_model.php#L267

如果您使用所有默认值,您可以这样做来比较:

$user = $this->ion_auth->user();

$old_password = $this->input->post('old_password');

$password_matches = $this->ion_auth->hash_password_db($user->id, $old_password);

关于php - 在 CodeIgniter 中使用 ion auth 进行密码验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21735518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com