Hash 我们可以重复地散列输入并无限期地散列它吗?

Hash 我们可以重复地散列输入并无限期地散列它吗?,hash,cryptography,computer-science,password-hash,Hash,Cryptography,Computer Science,Password Hash,我只是想知道,如果给我们一个输入字符串x,我们用函数f对它进行散列,得到f(x),我们是否可以无限期地重复这个过程,即f(f(x))等等。因为大多数散列函数生成的固定输出与输入不同。 那么,在这个前提下,我们是否能够无限期地进行这项工作?我能想到的一个可能的问题是,它必须是固定长度的,并且通常散列比输入短? 如果我错了,请纠正我。我想解释一下 是的,您完全可以对先前的散列输出进行散列 当我们使用加密密钥时,这被称为棘轮效应 散列算法的输出大小将决定在发生冲突之前可以重新散列多少输出 因此,对于2

我只是想知道,如果给我们一个输入字符串
x
,我们用函数
f
对它进行散列,得到
f(x)
,我们是否可以无限期地重复这个过程,即
f(f(x))
等等。因为大多数散列函数生成的固定输出与输入不同。 那么,在这个前提下,我们是否能够无限期地进行这项工作?我能想到的一个可能的问题是,它必须是固定长度的,并且通常散列比输入短?
如果我错了,请纠正我。我想解释一下

是的,您完全可以对先前的散列输出进行散列

当我们使用加密密钥时,这被称为棘轮效应

散列算法的输出大小将决定在发生冲突之前可以重新散列多少输出

因此,对于256位哈希函数,我们将在2^128次哈希调用后看到50%概率的冲突