<分区>
是否有任何算法可以对一个字节数组进行哈希处理,该字节数组针对相同的输入生成多个随机安全哈希值,而根本无法相互比较哈希值,而且我们只能将每个哈希值与原始字节进行比较?
<分区>
是否有任何算法可以对一个字节数组进行哈希处理,该字节数组针对相同的输入生成多个随机安全哈希值,而根本无法相互比较哈希值,而且我们只能将每个哈希值与原始字节进行比较?
最佳答案
对于这种用例,您应该使用“盐”。
盐是您在哈希之前生成的唯一/随机值。然后,您不再只记录 hash(bytes)
,而是记录 (salt, hash(salt+bytes))
。
如果您知道原始字节,则可以验证它们是否与加盐哈希匹配,但您不能比较两个加盐哈希以查看它们是否由同一字节数组生成。当然,您生成的每个加盐哈希都必须具有唯一的加盐才能使其发挥作用。
这用于防止将散列密码列表与已知散列字典相匹配的“字典攻击”。
关于algorithm - 一种只能与原始算法进行比较的哈希算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53907229/