gpt4 book ai didi

php - 在数据库中加密密码有什么意义?

转载 作者:行者123 更新时间:2023-12-04 21:19:39 25 4
gpt4 key购买 nike

有人可以为我确认以下内容吗:

在将密码保存到数据库中时加密密码的意义在于,如果数据库被黑客入侵,那么黑客将无法知道实际密码,除非她/他有算法和盐等来解密它,因此将无法使用相同密码破坏此帐户或其他帐户?

但我的主要问题是:大概密码是在例如将密码保存到数据库的 PHP 脚本中加密的,因此解密密码的算法在该脚本中是明确的。那么,如果黑客侵入网站的服务器或内容管理系统,他/她将能够访问该脚本并解密密码,这是否正确?

所以本质上,加密仅与您在线 CMS 或服务器的登录信息是否强大相关?

提前致谢!

最佳答案

您的密码不应在数据库中加密。

通常所做的是对密码进行哈希处理,并将其存储在数据库中。散列是一种单向函数。不可能逆转它并得到结果。为了检查密码是否正确,测试密码(用户输入的内容)用盐重新散列以查看它是否与之前的 has 匹配。

这样,如果有人获得了数据库的副本,他们只知道哈希值,这需要很长时间才能找到冲突(匹配)。为每个密码添加唯一的盐可确保使用相同密码的用户具有不同的哈希值,这意味着必须针对每个密码进行查找哈希冲突的工作(非常慢)。

关于php - 在数据库中加密密码有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12353447/

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