node快速計算md5

2022-07-20 16:00:18 字數 488 閱讀 6679

最近在做乙個檔案上傳的專案,當上傳檔案達到幾十gb,幾百gb後在檔案上傳99%後,需要等待非常長的時間檔案才能完成上傳。通過埋點列印時間,發現md5計算時間非常長。

為了校驗檔案傳輸的完整性需要在檔案上傳結束後校驗檔案的完整性,md5值就用來校驗完整性,所以這一步不能少。

通過網上查詢資料,md5計算工具在計算大檔案md5值時也不是一次性計算出來的,也是通過分片的方式累加計算出來的。

所以我們在上傳大檔案時,本來上傳的思路就是分片上傳,我們只需要對每塊分片進行md5計算,最後累加計算md5值即可。

通過網上google發現了一篇介紹node通過crypto加密模組實現md5加密的方法,裡面的介紹很詳細,裡面介紹了最快速計算md5的方法:

require('crypto').createhash('md5').update(data).digest('hex')

update中傳入每片資料的二進位製流。通過測試發現每塊分片計算的md5時間為20多毫秒,速度提公升了幾十倍。

計算檔案的md5

本地配置檔案,或要做熱更的檔案,通過計算檔案md5與儲存在伺服器端的值做對比,如果不一致則說明本地檔案過舊,或者被非法修改過。算檔案md5方法為 讀取檔案為二進位製流,算出md5值轉為字串。using system using system.collections.generic using sys...

Python實現計算MD5

本文章和我的部落格同時發布 厲害部落格 md5 是 message digest algorithm5 的縮寫,md5 是一種資訊摘要演算法。在平時的開發中可能要計算 md5,可是自己寫乙個演算法很麻煩,這時就可以使用 python 的內建模組 hashlib。hashlib 能計算 sha1 md...

Golang 計算MD5值示例

golang提供了 crypto md5 包用來計算md5值,使用起來簡單方便,解決了我長久以來的疑問 一種是直接呼叫md5計算 package main import crypto md5 fmt func main 121d0611200c43f67b722446a4faea45另一種是呼叫md...