理论上,用MD5算法将2 ^ 128次哈希

路德维克

这纯粹是假设性的问题,但是如果您要从128位开始,然后将它们哈希2 ^ 128次,例如使用MD5算法,您最终会回到原始位吗?是否会使用所有可能的组合?如果不是,是否有某些小玩意比其他小玩意“散回自己”更快?

我认为这几乎是不可能实现的(看了我对2 ^ 128的计算器的答案之后),而且我很确定答案对于不同的算法会有所不同,但这并不能阻止一个理论化,它?

是的,就是这样,希望外面的人会对此主题有更多的了解。期待看到答案,在此先感谢!

编辑:澄清一下:在这个问题上,我最感兴趣的是它是否会经过所有可能的位组合,或者是否存在几个较小的循环,因此请您对任何其他相关且有趣的信息表示赞赏。

克拉杰

一个好的密码哈希应该有一些但不是太多的循环,这使得为其创建彩虹表变得更加困难。这发生在MD5中-实际上,MD5的一个问题是,对于算法的给定哈希,也很容易找到哈希冲突。这种弱点使得在将恶意数据注入经过MD5哈希处理的文件中进行验证时,在计算上是可行的。

我认为您认为MD5具有某些Fermat的小定理属性,但事实并非如此。哈希函数很可能很快就会开始走动了,应该这样做。

还有一种非常有效的内存查找MD5周期的方法也看一下MD5CRK

如果您确实想要一个唯一的128位ID的“散列”,则应使用普通的加密算法,例如带有特定数字和密钥的AES算法。这给您一个“随机”,唯一的数字行,形成一个递增的id,因为在给定用于加密数据的相同密钥的情况下,您始终可以以唯一的方式解密信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章