为什么Web开发人员不对数据库执行此操作?

时间:2016-08-23 02:49:40

标签: encryption web passwords

我听说所有这些网站都被sql注入和东西攻击。是什么阻止他们用32个字符的字符串加密哈希?如果我是一名黑客并且我设法获得了数据库并且遇到了加密的哈希,我将无法对数据库做任何事情,因为我不知道加密算法和密钥。

只要保存密钥,每个帐户都是安全的。

1 个答案:

答案 0 :(得分:1)

加密哈希值的想法确实会提高用户密码的安全性,但是您应该了解使用此度量确切解决的问题以及未采用的措施。

首先也是最重要的一点,密码加密通常不受欢迎,因为它是一种弱保护。如果攻击者拥有密钥,他可以立即发现所有密码。因此,加密并不能减轻您使用BCrypt,SCrypt,PBKDF2或Argon2等慢速算法正确散列密码的麻烦。

但你的问题是关于加密哈希。有一种情况可以很容易地恢复正确的哈希和盐渍密码。如果用户选择了一个非常弱的密码,字典攻击无论如何都会非常快速地显示它们。如果哈希值已加密,攻击者需要密钥才能开始使用字典。这导致我们出现以下情况:

加密哈希值将保护弱密码,只要密钥保密即可。当攻击者没有服务器权限时,情况总是这样,例如SQL注入,忽视服务器,备份......我试着在我的教程结尾处对safely storing passwords进行描述。