檔案校驗中md5 sha 1 sha 256 sha 512 哪種校驗方式比較快呢?

時間 2021-11-06 17:58:28

1樓:

首先Duplicate Cleaner 這個軟體確實好用,我也經常用它去重、精簡資料。

簡單判斷MD5、SHA-1、SHA-256 、SHA-512這幾種校驗演算法,第一反應當然是校驗值越長的越慢。

我們先了解一下什麼是演算法,資料摘要演算法是密碼學演算法中非常重要的乙個分支,它通過對所有資料提取指紋資訊以實現資料簽名、資料完整性校驗等功能,由於其不可逆性,有時候會被用做敏感資訊的加密。資料摘要演算法也被稱為雜湊(Hash)演算法或雜湊演算法。

MD5(Message-Digest Algorithm 5,訊息摘要演算法版本5),它由MD2、MD3、MD4發展而來,由Ron Rivest(RSA公司)在2023年提出,目前被廣泛應用於資料完整性校驗、資料(訊息)摘要、資料加密等。MD2、MD4、MD5 都產生16位元組(128位)的校驗值,一般用32位十六進製制數表示。MD2的演算法較慢但相對安全,MD4速度很快,但安全性下降,MD5比MD4更安全、速度更快。

SHA(Secure Hash Algorithm)是由美國專門制定密碼演算法的標準機構——美國國家標準技術研究院(NIST)制定的,SHA系列演算法的摘要長度分別為:SHA為20位元組(160位)、SHA256為32位元組(256位)、 SHA384為48位元組(384位)、SHA512為64位元組(512位),由於它產生的資料摘要的長度更長,因此更難以發生碰撞,因此也更為安全,它是未來資料摘要演算法的發展方向。由於SHA系列演算法的資料摘要長度較長,因此其運算速度與MD5相比,也相對較慢。

目前SHA1的應用較為廣泛,主要應用於CA和數字證書中,另外在目前網際網路中流行的BT軟體中,也是使用SHA1來進行檔案校驗的。

下圖是不同演算法的CPU佔用率比較

美國加州大學的研究表明,SHA-1的計算速度是83MB/s,而MD5的計算速度是227MB/s。

一般校驗去重使用預設值MD5就可以了其效率更高,但有時也會出現非常低概率的2個完全不同的檔案相同的MD5值的狀況,如果要百分百精確就使用SHA-256,前提是可以忍受時間大幅度增加。

Md5演算法用於資料校驗,那麼問題來了?

代飛 第一 MD5碼才128位,16個位元組,出錯概率不大。第二 如果16個位元組都傳出問題了,那麼整個檔案傳輸更容易出問題。而錯誤的檔案產生的MD5碼和傳輸錯誤的MD5恰好相同,幾乎是不可能。所以,接收到的檔案生成的MD5如果和接收的MD5碼一樣,那就說明沒問題啊 張帥 MD5 校驗失敗,說明這次...

超大檔案如何計算md5?

使用openssl的寫法 bool Md5FileCpp const std string filepath,std string strMd5 FILE pFile fopen filepath.c str rb if pFile NULL return false MD5 CTX ctx uns...

2021 年 MSI 決賽 BO5 與 S6 中 SKT vs ROX 的 BO5 哪個更精彩?

秋倏 這還用問嗎?別敗壞路人緣了。SKT vs ROX 的 BO5 可以載入聯盟歷史。太精彩了。沒乙個人拉胯,雙方十人操作拉滿。簡直就是諸神之戰。別說MSI比不了,當年的冠軍賽以及日後的所有S賽都沒有那場半決賽精彩。雙方十人操作拉滿!巔峰SKT對陣巔峰ROX。ROX好像得了當年OGN的冠軍。那場比賽...