2

我连续有一个字段,我正在散列和加盐。每行的盐是不同的。我决定在每一行中散列/加盐几个字段。

与为每个字段生成新盐相比,对同一行中的这些新字段使用相同的盐会使数据更容易受到彩虹攻击吗?我的逻辑是,在同一行中只有几个字段将使用相同的盐,这将使密钥/盐管理更加容易。

4

2 回答 2

3

不,如果有人有一个足够大的彩虹桌来打破你的盐,那么你使用的盐太小了。您添加到盐中的每个字节都会使彩虹表呈指数级增长。在哈希中添加盐不会使预先计算的攻击变得不可能,只会变得更加困难。

重复使用盐会使您的系统更容易受到攻击。攻击者可以创建一个帐户,然后使用 SQL 注入将他的加盐哈希从数据库中提取出来。然后他可以使用John The Ripper暴力破解盐(因为他知道自己的密码)。如果盐存储在数据库中,那么他可以使用 SQL 注入提取盐和散列,并使用 John 破解未知密码的散列。如果密码是字典中的单词,则只需不到一个小时即可破解。

于 2010-07-07T16:40:56.217 回答
1

是的,但是使用多种盐的数据真的那么重要吗?如果每行使用一种盐,这就足够了。有关更多与盐相关的信息,请参阅本文: http: //php-security.org/2010/05/26/mops-submission-10-how-to-manage-a-php-applications-users-and-passwords/

于 2010-07-07T15:37:39.307 回答