请看一下下面的问题。
1 - Applying the MD5 on a .txt file containing "Hello" (without quotes, length = 5). It gives some hash value (say h1).
2 - Now file content are changed to "Hello " ( without quotes, length = 6). It gives some hash value (say h2).
3 - Now file is changed to "Hello" (exactly as step. 1). Now the hash is h1. Which makes sense.
Run Code Online (Sandbox Code Playgroud)
现在,如果该过程应用于 .pdf 文件,就会出现问题。在这里,我没有更改文件内容,而是更改文本的颜色并再次恢复为原始文件。通过这种方式,我得到了三个不同的哈希值。
那么,是因为pdf阅读器对文本和元数据的编码方式、哈希不同还是类比本身是错误的?
信息:- 使用 Windows 中的免费软件来计算哈希值。
那么,是因为pdf阅读器对文本和元数据的编码方式、哈希不同还是类比本身是错误的?
正确的。如果您需要在自己的数据上进行测试,请在文本编辑器中打开任何 PDF(我使用 Notepad++)并滚动到底部(存储元数据的位置)。您会看到类似以下内容:
<</Subject (Shipping Documents)
/CreationDate (D:20150630070941-06'00')
/Title (Shipping Documents)
/Author (SomeAuthor)
/Producer (iText by lowagie.com \(r0.99 - paulo118\))
/ModDate (D:20150630070941-06'00')
>>
Run Code Online (Sandbox Code Playgroud)
显然,/CreationDate并且ModDate至少会继续改变。即使您使用相同的源数据从某个源重新生成 pdf,这些时间戳也会有意义地更改目标 pdf 的校验和。
| 归档时间: |
|
| 查看次数: |
14882 次 |
| 最近记录: |