2014-03-06 23 views
0

我需要的数据散列存储在数据库中,以便以后我知道,有些数据是在数据库中已经存在。这是通过使用salt的标准摘要算法完成的,以便在发生任何强力攻击时这些哈希值都是安全的。如何识别与盐元素消化相同的数据?

现在我有一个问题,即哈希值是真正安全的,但后来就再也没有确定,一些数据已经存在于数据库中(因为哈希值是相同的数据不同)?

如何识别相同的数据(而不是内容,只要该数据是一样的),即使使用腌消化?

+0

腌制的一点是要防止这种情况。 – ntoskrnl

回答

2

执行相同data + salt哈希运算与存储的内容在数据库中的结果进行比较。如果你不知道盐,你就是SOL。

+0

今天我一定喝了太多啤酒。谢谢:) – bozo

+0

@bozo:啊,是的。一个很容易忽略了[巴尔默峰值(https://xkcd.com/323/)如果有一个自己的生理和酒精的代谢没有仔细校准数据;) – datenwolf

+0

一个问题:如果你有10.000记录在数据库中(所以不是一个简单的用户名密码1:1的情况,但你不知道你的数据在列表中)?这意味着你必须重复10.000次(从DB中取出随机盐),并多次执行哈希以找到匹配项? – bozo