Security 对盐进行散列是否增加了安全性?
我一直在认真考虑如何保护我的web应用程序,使其远离暴力攻击和全面安全。我知道我们可以将盐值存储在纯文本中,而且我们仍然有很好的安全性Security 对盐进行散列是否增加了安全性?,security,hash,salt,Security,Hash,Salt,我一直在认真考虑如何保护我的web应用程序,使其远离暴力攻击和全面安全。我知道我们可以将盐值存储在纯文本中,而且我们仍然有很好的安全性 散列我们的salt值会给web应用程序增加更多的安全性吗?还是会浪费服务器上的时间和资源?最后,您必须将密码和salt值连接起来,因此需要原始salt值。如果对salt值进行散列,则不再具有其原始值,因为散列是单向函数,因此我认为对salt进行散列不会有用(如果我正确理解了您的问题)。salt的目的是防止黑客通过预计算的rainbow表访问密码。那么,获得密码的
散列我们的salt值会给web应用程序增加更多的安全性吗?还是会浪费服务器上的时间和资源?最后,您必须将密码和salt值连接起来,因此需要原始salt值。如果对salt值进行散列,则不再具有其原始值,因为散列是单向函数,因此我认为对salt进行散列不会有用(如果我正确理解了您的问题)。salt的目的是防止黑客通过预计算的rainbow表访问密码。那么,获得密码的唯一方法(意味着使用了一个好的哈希算法)就是暴力,无论salt是否加密,这都需要同样长的时间。不,你不会得到任何东西 如果您使用salt散列密码,然后将salt散列存储在数据库中,您将无法验证密码
如果您对盐进行散列,然后使用此盐散列对密码进行散列,则您只交换了盐。您必须将salt散列存储在数据库中,它的行为与原始salt类似。你花更多的时间在密码散列上进行更多的迭代,这会让你花更多的时间来散列密码。现在怎么办?你是想要盐还是盐?你用什么哈希算法?问这个问题,因为如果你使用的是像
md5
或sha
这样的算法,在开始考虑进一步的复杂性之前,还有其他/更好的方法使它更安全。@Gumbo我想把盐炸开。@Jite我确实喜欢使用SHA256。我肯定我以前看到过php
标记(可能已经被编辑掉了),我建议您阅读并将您的哈希更改为代价高昂的河豚密码,这将使检查速度变慢,并降低暴力攻击的风险(计算/测试密码所需的时间越长,暴力攻击所需的时间越长)。