algorithm - 一种只能与原始算法进行比较的哈希算法

标签 algorithm encryption hash cryptography

<分区>

是否有任何算法可以对一个字节数组进行哈希处理,该字节数组针对相同的输入生成多个随机安全哈希值,而根本无法相互比较哈希值,而且我们只能将每个哈希值与原始字节进行比较?

最佳答案

对于这种用例,您应该使用“盐”。

盐是您在哈希之前生成的唯一/随机值。然后,您不再只记录 hash(bytes),而是记录 (salt, hash(salt+bytes))

如果您知道原始字节,则可以验证它们是否与加盐哈希匹配,但您不能比较两个加盐哈希以查看它们是否由同一字节数组生成。当然,您生成的每个加盐哈希都必须具有唯一的加盐才能使其发挥作用。

这用于防止将散列密码列表与已知散列字典相匹配的“字典攻击”。

参见:https://en.wikipedia.org/wiki/Salt_(cryptography)

关于algorithm - 一种只能与原始算法进行比较的哈希算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53907229/

相关文章:

csv - 使用 AWK 从文件中获取与另一个文件中的字符串匹配的行

合并数据以进行线性拟合的算法?

java - 广度优先搜索 : How many states of a vertex are needed?

c# - 算法问题

c - 如何使用 aes key 创建 .pem 文件

java - 基于 3 个不同的整数创建一个唯一的整数

c - size_t 预处理器值的大小

algorithm - 多项式的根 mod a prime

java - 在不丢失数据的情况下将 byte[] 解密回 String

c# - 将证书 key 加载到 CngKey 类中以与 DiffieHellman 一起使用(ECDiffieHellmanCng 类)