Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 对盐进行散列是否增加了安全性?_Security_Hash_Salt - Fatal编程技术网

Security 对盐进行散列是否增加了安全性?

Security 对盐进行散列是否增加了安全性?,security,hash,salt,Security,Hash,Salt,我一直在认真考虑如何保护我的web应用程序,使其远离暴力攻击和全面安全。我知道我们可以将盐值存储在纯文本中,而且我们仍然有很好的安全性 散列我们的salt值会给web应用程序增加更多的安全性吗?还是会浪费服务器上的时间和资源?最后,您必须将密码和salt值连接起来,因此需要原始salt值。如果对salt值进行散列,则不再具有其原始值,因为散列是单向函数,因此我认为对salt进行散列不会有用(如果我正确理解了您的问题)。salt的目的是防止黑客通过预计算的rainbow表访问密码。那么,获得密码的

我一直在认真考虑如何保护我的web应用程序,使其远离暴力攻击和全面安全。我知道我们可以将盐值存储在纯文本中,而且我们仍然有很好的安全性


散列我们的salt值会给web应用程序增加更多的安全性吗?还是会浪费服务器上的时间和资源?

最后,您必须将密码和salt值连接起来,因此需要原始salt值。如果对salt值进行散列,则不再具有其原始值,因为散列是单向函数,因此我认为对salt进行散列不会有用(如果我正确理解了您的问题)。

salt的目的是防止黑客通过预计算的rainbow表访问密码。那么,获得密码的唯一方法(意味着使用了一个好的哈希算法)就是暴力,无论salt是否加密,这都需要同样长的时间。

不,你不会得到任何东西

如果您使用salt散列密码,然后将salt散列存储在数据库中,您将无法验证密码


如果您对盐进行散列,然后使用此盐散列对密码进行散列,则您只交换了盐。您必须将salt散列存储在数据库中,它的行为与原始salt类似。你花更多的时间在密码散列上进行更多的迭代,这会让你花更多的时间来散列密码。

现在怎么办?你是想要盐还是盐?你用什么哈希算法?问这个问题,因为如果你使用的是像
md5
sha
这样的算法,在开始考虑进一步的复杂性之前,还有其他/更好的方法使它更安全。@Gumbo我想把盐炸开。@Jite我确实喜欢使用SHA256。我肯定我以前看到过
php
标记(可能已经被编辑掉了),我建议您阅读并将您的哈希更改为代价高昂的河豚密码,这将使检查速度变慢,并降低暴力攻击的风险(计算/测试密码所需的时间越长,暴力攻击所需的时间越长)。