Cryptography 如何识别用盐元素消化的相同数据?

Cryptography 如何识别用盐元素消化的相同数据?,cryptography,digest,Cryptography,Digest,我需要将数据散列存储在数据库中,以便稍后知道数据库中已经存在一些数据。这是通过使用标准的salt摘要算法来实现的,因此在任何暴力攻击的情况下,这些哈希都是安全的 现在我有一个问题,哈希值确实是安全的,但是我无法再确定数据库中已经存在一些数据(因为哈希值对于相同的数据是不同的) 如何识别相同的数据(不是内容,只是数据相同),即使使用盐渍文摘?执行相同的数据+盐渍散列操作,并将结果与数据库中存储的内容进行比较。如果你不知道盐是什么,那你就是索尔。加盐的目的是为了防止这种情况。我今天一定喝了太多啤酒。

我需要将数据散列存储在数据库中,以便稍后知道数据库中已经存在一些数据。这是通过使用标准的salt摘要算法来实现的,因此在任何暴力攻击的情况下,这些哈希都是安全的

现在我有一个问题,哈希值确实是安全的,但是我无法再确定数据库中已经存在一些数据(因为哈希值对于相同的数据是不同的)


如何识别相同的数据(不是内容,只是数据相同),即使使用盐渍文摘?

执行相同的
数据+盐渍
散列操作,并将结果与数据库中存储的内容进行比较。如果你不知道盐是什么,那你就是索尔。

加盐的目的是为了防止这种情况。我今天一定喝了太多啤酒。谢谢:)@bozo:啊,是的。如果对自己的生理学和酒精代谢没有仔细的校准数据,那么很容易错过测试;)一个问题:如果数据库中有10.000条记录(因此不是简单的用户名-密码1:1的情况,但您不知道数据在列表中的位置),该怎么办?这意味着您必须迭代10.000次(从DB中取出随机盐),并进行多次哈希运算才能找到匹配项?@bozo:基本上是的。这就是使用salt的全部目的:创建额外的工作负载,使暴力或字典攻击变得困难(er),并完全阻止彩虹表的使用。好的,明白了。我将尝试通过使用一些helper字段缩小数据范围来减少工作负载,但现在我完全掌握了。非常感谢狼人。