利用 MD5 通過 iTextSharp 進行 PDF 修改檢測
使用 iTextSharp 從包含大量圖像的 PDF 中提取文本可能會出現問題。 然而,MD5 校驗和提供了一個強大的解決方案來驗證 PDF 是否已被更改。
生成 MD5 哈希
System.Security.Cryptography.MD5
類提供計算 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中文網其他相關文章!