我听说所有这些网站都被sql注入和东西攻击。是什么阻止他们用32个字符的字符串加密哈希?如果我是一名黑客并且我设法获得了数据库并且遇到了加密的哈希,我将无法对数据库做任何事情,因为我不知道加密算法和密钥。
只要保存密钥,每个帐户都是安全的。
答案 0 :(得分:1)
加密哈希值的想法确实会提高用户密码的安全性,但是您应该了解使用此度量确切解决的问题以及未采用的措施。
首先也是最重要的一点,密码加密通常不受欢迎,因为它是一种弱保护。如果攻击者拥有密钥,他可以立即发现所有密码。因此,加密并不能减轻您使用BCrypt,SCrypt,PBKDF2或Argon2等慢速算法正确散列密码的麻烦。
但你的问题是关于加密哈希。有一种情况可以很容易地恢复正确的哈希和盐渍密码。如果用户选择了一个非常弱的密码,字典攻击无论如何都会非常快速地显示它们。如果哈希值已加密,攻击者需要密钥才能开始使用字典。这导致我们出现以下情况:
加密哈希值将保护弱密码,只要密钥保密即可。当攻击者没有服务器权限时,情况总是这样,例如SQL注入,忽视服务器,备份......我试着在我的教程结尾处对safely storing passwords进行描述。