如何递归地将哈希嵌入文件中?

4

最简单的情况:您想创建一个文本文件,其中包含“此文件的MD5哈希值为FOOBARHASH”的内容。在知道嵌入式哈希值和文件哈希值之间存在相互关系的情况下,如何嵌入哈希值?

例如,思科将哈希值嵌入其IOS映像中,可以通过以下方式进行验证:

cisco# verify s72033-advipservicesk9_wan-mz.122-33.SXH7.bin

Embedded Hash MD5 : D2BB0668310392BAC803BE5A0BCD0C6A
Computed Hash MD5 : D2BB0668310392BAC803BE5A0BCD0C6A

也许我错了,但是尝试弄清楚如何做到这一点让我感到困惑。

最初,我说Ubuntu ISO具有包含整个ISO文件的MD5哈希值的文本文件。这是不正确的:经过第二次查看,md5sum.txt文件包含单个文件的哈希值。


1
你不能使用MD5来完成这个任务,但可以使用一个更简单的哈希算法。https://dev59.com/9G855IYBdhLWcg3wSSKl - supervacuo
1个回答

8
您不需要。哈希值是通过在应该签名的位置放置一个“虚拟”或空字符串,对该文档进行哈希计算,然后将签名值插入到文本中计算得出的。要验证文档的签名,您需要剥离签名,对不包含签名的文档进行哈希计算,并将结果与您剥离的签名进行比较。
如果您喜欢这种挑战,可以考虑编写一个程序来生成自描述的句子:
“这个句子包含四个a、一个b、两个c、一个d、三十个e、六个f、五个g、七个h、十一个i、一个j、一个k、两个l、两个m、十八个n、十五个o、两个p、一个q、五个r、二十七个s、十八个t、两个u、七个v、八个w、两个x、三个y和一个z。”
祝您玩得愉快!

2
哼。使用&符号是作弊:P - Brian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接