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

在将密码保存到数据库中时对密码进行加密的要点是,如果数据库被黑客入侵,那么黑客将无法知道实际的密码,除非他/她拥有算法和盐等将其解密,因此获胜不能使用相同的密码来破坏此帐户或其他帐户?

但是我的主要查询是:大概是在将密码保存到数据库的PHP脚本中对密码进行了加密,因此该脚本中明确了解密密码的算法。那么,如果黑客入侵了该网站的服务器或内容管理系统,是否可以访问该脚本并解密密码?

因此,从本质上讲,加密仅与您对在线CMS或服务器的登录信息是否有效相关吗?

提前致谢!

最佳答案

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

通常要做的是对密码进行哈希处理,然后将其存储在数据库中。哈希是一种单向函数。不可能将其反转并获得结果。为了检查密码是否正确,将测试密码(用户输入的密码)与盐重新混合在一起,以查看其是否与之前的密码匹配。

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

10-05 20:47
查看更多