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

时间:2010-05-07 23:34:40

标签: hash

最简单的情况:你想制作一个文本文件,上面写着“这个文件的MD5哈希是FOOBARHASH”。你如何嵌入哈希,知道嵌入的哈希值和文件的哈希值是相互关联的?

例如,思科将哈希值嵌入到他们的IOS映像中,可以像这样验证:

  

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

     

嵌入式哈希MD5:D2BB0668310392BAC803BE5A0BCD0C6A
  计算哈希MD5:D2BB0668310392BAC803BE5A0BCD0C6A

也许我错了,但试图弄清楚如何做到这一点让我大吃一惊。

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

1 个答案:

答案 0 :(得分:6)

你没有。通过在签名应该放置“虚拟”或空字符串,散列该文档,然后将签名值插入到文本中来计算散列值。要验证文档的签名,请删除签名,在没有签名的情况下散列文档,并将结果与​​您删除的签名进行比较。

如果您喜欢这种挑战,可以考虑编写一个程序来制作自我描述的pangrams:

  

这个Pangram包含四个as,一个b,两个cs,一个d,三十个es,六个fs,五个gs,七个hs,十一个是,一个j,一个k,两个ls,两个ms,十八个ns,十五个os ,两个ps,一个q,五个rs,二十七个ss,十八个ts,两个us,七个vs,八个ws,两个xs,三个ys,&一个z。

玩得开心!