【发布时间】:2012-03-06 06:00:14
【问题描述】:
我知道这个话题已经讨论了一百万次了。但这对我来说是新的,我读得越多,我就越不了解实际发生或应该发生的事情。
我将每个用户的盐添加到用户密码的散列存储中,因此存储的密码散列如下所示:hash(password + perusersalt)。 这导致不同用户的相同密码在数据库中存储为不同的字符串。凉爽的。但我不担心有人闯入数据库并查找散列密码。我担心有人暴力查询我的服务器以获取用户名和密码的组合。在这种情况下,密码的加盐和哈希存储是没有用的,因为用户名和密码的正确组合将产生成功的登录。对吧?
在这种情况下盐毫无用处的印象是正确的吗?因为服务器只接受接口的用户名和密码(不传输盐),所以普通的字典攻击就可以了,对吧?
所以盐只是用来从有权访问数据库的人那里混淆用户的密码(只能通过反向彩虹表查找获得)。嗯。
相关:我的网络应用程序甚至不传输纯密码。密码已经在客户端进行了哈希处理,只是为了完全拒绝对某人被盗密码负责,并且整个事情都使用 SSL。
这是否意味着我或多或少处于可能的最高安全级别,因为用户名和密码的正确组合当然必须产生成功登录?
感谢您清理了我脑海中的混乱。
【问题讨论】: