今天我读了关于MD5哈希值,并想知道这是否可能。 似乎是一个递归问题... 还是有解决方案吗?将文本文件的MD5哈希保存到同一个文本文件中?
回答
您必须从计算中排除哈希和。然后你已经使用了它,但是你不能添加散列朗姆直到文件的末尾,希望它是正确的,或者如果你计算新的yu的运行将始终以新的MD5散列结束。在一个永无止境的故事中结束:)
那么,只要你填写MD5总和文件将会改变,并得到一个新的MD5 - 所以:不,这是不可行的。从理论上讲,只有反复试验才能产生一个包含它自己散列的文档......但是文档可能非常乱码,并且不包含任何有意义的内容。
但是在计算过程中可以用零填充128位(例如)。这个地方将保存MD5总和,并且在稍后验证哈希值时必须再次为零。
附录:我们知道**是不可行的。很有可能一些未来的数学supergenius会设法快速构建这样一个文件。 – 2010-05-27 16:28:40
@BlueRaja:见[这里](http://www.mscs.dal.ca/~selinger/md5collision/)。 – sbi 2010-05-29 22:22:20
@sbi:与这个问题无关...... – 2010-05-29 23:41:50
这是不可能的。
但是,您可以根据其内容的哈希来重命名该文件,该内容会在不更改哈希的情况下附加信息。
那么,向文本添加MD5哈希将更改文本,从而更改MD5哈希。 计算您的文本(包括将要计算的MD5哈希)的MD5哈希是不可能的。
考虑任何散列并想象添加一些随机文本。既然有可能文本你可以添加无限量,但只有可能哈希数量是有限的值,必须有可能的文本,其产生的哈希值。问题只是你可能没有足够的资源来找到它。
你也许可以尝试的是,是否有任何MD5哈希值,当散列,yield themselves as a result(感谢弗朗西斯该链接!):
对于MD5哈希的所有可能的排列,创建哈希和将结果与原始结果进行比较。
理论上有可能:可能的文件内容是无限的,可能的哈希不是。在实践中,能够实现它意味着你已经发现了算法中的一个漏洞,因此为了安全目的而使得哈希无用。
这里是另一个伎俩......
保存散列文件的起点,也计算MD5已排除该区域,只有重要的数据。
"HashMD5 = Md5.ComputeHash(bytes, 382, bytes.Length - 382)"
所以它计算哈希仅用于数据区域(自定义数据结构开始后,在文件缓冲区偏移382)
------------------- ----实例数据结构跟随-----------
<StructLayout(LayoutKind.Sequential, Pack:=1, CharSet:=CharSet.Ansi)>
<Serializable()> Structure MyData
Dim FileCheckSum() As Byte '16 bytes HASh for file 'Config.bin'
Dim Padding() As Byte ' 0xFF x 20 bytes
Dim RemoteDevice As RmtDevice
End Structure
在begining写入这个STR到文件config.bin使用“xxxx.FileSystem。WriteAllBytes()”使用十六进制编辑器找到的填充元素开始的位置(在我的情况下,它是382)
然后打开配置文件
后来使用这种无作为偏移量,计算MD5,而在整个文件。这样一个有数据崩溃小安
注意!! - 只要没有结构元素/顺序/件号保持相同的填充起始位置保持相同
工作对我来说..
经测试,在。 .net
- 1. 将文本保存到一个文件
- 2. SharePoint文件MD5哈希
- 3. 将文本文件数据到一个哈希地图
- 4. 使用C#将文本文件保存到文本文件中
- 5. 结合多个文件的MD5哈希
- 6. 如何从文本文件创建MD5哈希摘要?
- 7. 在C#中的文件MD5哈希
- 8. 生成MD5密钥,并将在文本文件中保存
- 9. 插入一个文本文件与C#中的哈希表
- 10. 猛砸/壳/脚本MD5哈希树输出到.csv文件
- 11. 电子邮件刮板:将文本保存到文本文件
- 12. 如何将文本保存到2个不同的文件?
- 13. 将文本文件合并到一个文本文件中
- 14. 将JComboBoxes值保存到文本文件
- 15. 将文本文件保存到SD卡
- 16. 将文本定期保存到文件
- 17. 将一个目录列表保存到一个文本文件
- 18. 计算压缩zip文件中文件的MD5哈希
- 19. 计算大文件的Md5哈希
- 20. 创建XML文件的哈希MD5
- 21. 计算视频文件的MD5(哈希)
- 22. 将多个文本框数据从Kinect保存到一个文本文件
- 23. 将文本保存到已创建的文本文件
- 24. 使用python将文件列表保存到文本文件中
- 25. 将脚本中的信息保存到文本文件中 - Python
- 26. 如何将文件保存到服务器,我得到的文件哈希值
- 27. 将哈希值输出到文本文件
- 28. 从URL获取MD5哈希文件
- 29. 从文件生成MD5哈希
- 30. 无法创建MD5哈希文件?
这是可能的... md5(废话+ x)== x ? 就像一个文档在其最后一页上有自己的MD5信息? – bakra 2010-05-27 11:34:48
是的,正如我写的那样,理论上是可能的 - 但要做到这一点需要大量的尝试和运气......你不能一次构建这样的文档。 – tanascius 2010-05-27 11:52:49