使用itextSharp
利用MD5进行PDF修改检测
>使用ItextSharp从图像较重的PDF中提取文本可能是有问题的。 但是,MD5校验和为验证PDF是否已更改提供了强大的解决方案。
生成MD5哈希System.Security.Cryptography.MD5
<code class="language-csharp">using (var md5 = MD5.Create()) { using (var stream = File.OpenRead(filename)) { return md5.ComputeHash(stream); } }</code>
比较MD5哈希
MD5哈希是一个字节数组。 为了简化比较,将其转换为base64字符串:
<code class="language-csharp">var hash1 = Convert.ToBase64String(md5.ComputeHash(stream1)); var hash2 = Convert.ToBase64String(md5.ComputeHash(stream2)); if (hash1 == hash2) { // Files are identical }</code>
> md5哈希作为十六进制字符串
>
BitConverter
将哈希表示为十六进制字符串,请使用
<code class="language-csharp">string CalculateMD5(string filename) { using (var md5 = MD5.Create()) { using (var stream = File.OpenRead(filename)) { var hash = md5.ComputeHash(stream); return BitConverter.ToString(hash).Replace("-", "").ToLowerInvariant(); } } }</code>>
此MD5哈希技术可以确保对PDF修改的可靠检测,即使其他提取方法证明不可靠。
以上是如何使用 MD5 检测 iTextSharp 处理的 PDF 文件中的修改?的详细内容。更多信息请关注PHP中文网其他相关文章!