簡體   English   中英

在C中寫入文件時計算文件的MD5校驗和

[英]Compute the MD5 checksum for a file while writing the file, in C

我有一個C應用程序,生成非常大的二進制文件,每個大約30GB。 在編寫每個文件之后,計算它的MD5校驗和需要一段時間,(每個文件大約幾分鍾)。

在將文件寫入磁盤時,我將如何計算文件的MD5校驗和? 我想通過這樣做,我至少可以節省重新讀取文件的額外開銷,以便隨后計算校驗和。

我正在使用C標准庫來執行所有文件IO,而操作系統是Linux。

可以這樣做嗎? 謝謝!

這當然是可行的。 基本上,您在開始編寫之前初始化MD5計算。 然后,每當您將一些數據寫入磁盤時,也將其傳遞給MD5更新功能。 寫完所有數據后,調用最終的MD5函數來計算最終的摘要。

如果您沒有任何方便的MD5代碼, RFC 1321包含一個MD5參考實現,提供上述操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM