是否有一种算法可以对字节数组进行哈希处理,以便为同一输入生成多个随机安全哈希,而根本没有能力将哈希进行相互比较,只有我们才能将每个哈希与原始字节进行比较?
答案 0 :(得分:1)
对于这种用例,您应该使用“盐”。
盐是您在哈希之前生成的唯一/随机值。然后,您不仅记录hash(bytes)
,还记录(salt, hash(salt+bytes))
。
如果您知道原始字节,则可以验证它们是否与加盐的哈希匹配,但您不能比较两个加盐的哈希以查看它们是否由同一字节数组生成。当然,您生成的每个加盐散列都必须具有唯一的盐才能起作用。
这用于防止“字典攻击”使散列密码列表与已知哈希字典匹配。