[只是想知道如果给我们一个输入字符串x
,并用函数f
对其进行散列以获得f(x)
,我们可以无限期地重复此过程,即f(f(x))
,依此类推。因为大多数哈希函数会生成与输入不同的固定输出。因此,在此前提下,我们能够无限期地执行此操作吗?我可以想到的一个可能的问题是,它必须是固定长度的,并且通常散列比输入短?如果我错了,请纠正我。希望有一个解释!
是的,您绝对可以对先前的哈希输出进行哈希处理。
[当我们使用加密密钥进行加密时,这称为棘轮。
哈希算法的输出大小将确定您在发生冲突之前可以重新哈希多少个输出。
因此,对于256位哈希函数,在2 ^ 128次哈希调用之后,我们将看到发生冲突的可能性为50%。