我见过很多关于使用salt和hash来创建可以存储在数据库中的密码的安全版本的文章。安全的网站密码存储
但是,有一个问题令我困惑,我看不到问题,所以我想我会在这里发布问题,看看其他人是否可以指出这个想法中的任何缺陷。
我的基本想法是生成一个公钥/私钥对,然后销毁私钥。我对公钥/私钥密码学的理解有限,如果我没有私钥,那么解密用公钥加密的消息在数学上是不可能的。
我会使用公钥来加密密码,然后将加密版本存储在数据库中。当有人试图登录时,我只需使用公钥对密码进行加密,并查看它是否与存储的密码相符?
这个想法是否有一些可怕的缺陷?盐和哈希会以某种方式更安全吗?
对 - 我现在明白了,所以只要我根据记录中的数据使用salt生成密码,那么这将意味着每个密码都必须单独暴力强制,这不会阻止数据被泄露,但会使这样做非常昂贵。 –