• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            woaidongmao

            文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
            數(shù)據(jù)加載中……

            數(shù)據(jù)摘要算法的測試效率(SHA、MD5和CRC32)

             

            http://blog.csdn.net/collin1211/archive/2009/03/20/4006453.aspx

            一、數(shù)據(jù)摘要算法概述

             

            數(shù)據(jù)摘要算法是密碼學算法中非常重要的一個分支,它通過對所有數(shù)據(jù)提取指紋信息以實現(xiàn)數(shù)據(jù)簽名、數(shù)據(jù)完整性校驗等功能,由于其不可逆性,有時候會被用做敏感信息的加密。數(shù)據(jù)摘要算法也被稱為哈希(Hash)算法或散列算法。

             

            常用的數(shù)據(jù)摘要算法主要以下幾大類:

             

            1CRC8CRC16CRC32

             

            CRCCyclic Redundancy Check,循環(huán)冗余校驗)算法出現(xiàn)時間較長,應用也十分廣泛,尤其是通訊領域,現(xiàn)在應用最多的就是 CRC32 算法,它產(chǎn)生一個4字節(jié)(32位)的校驗值,一般是以8位十六進制數(shù),如FA 12 CD 45等。CRC算法的優(yōu)點在于簡便、速度快,嚴格的來說,CRC更應該被稱為數(shù)據(jù)校驗算法,但其功能與數(shù)據(jù)摘要算法類似,因此也作為測試的可選算法。

             

            WinRARWinZIP 等軟件中,也是以 CRC32 作為文件校驗算法的。一般常見的簡單文件校驗(Simple File Verify SFV)也是以 CRC32算法為基礎,它通過生成一個后綴名為 .SFV 的文本文件,這樣可以任何時候可以將文件內(nèi)容 CRC32運算的結果與 .SFV 文件中的值對比來確定此文件的完整性。

             

            SFV 相關工具軟件有很多,如MagicSFVMooSFV等。

             

            2MD2 MD4MD5

             

            這是應用非常廣泛的一個算法家族,尤其是 MD5Message-Digest Algorithm 5,消息摘要算法版本5),它由MD2MD3MD4發(fā)展而來,由Ron RivestRSA公司)在1992年提出,目前被廣泛應用于數(shù)據(jù)完整性校驗、數(shù)據(jù)(消息)摘要、數(shù)據(jù)加密等。MD2MD4MD5 都產(chǎn)生16字節(jié)(128位)的校驗值,一般用32位十六進制數(shù)表示。MD2的算法較慢但相對安全,MD4速度很快,但安全性下降,MD5MD4更安全、速度更快。

             

            目前在互聯(lián)網(wǎng)上進行大文件傳輸時,都要得用MD5算法產(chǎn)生一個與文件匹配的、存儲MD5值的文本文件(后綴名為 .md5.md5sum),這樣接收者在接收到文件后,就可以利用與 SFV 類似的方法來檢查文件完整性,目前絕大多數(shù)大型軟件公司或開源組織都是以這種方式來校驗數(shù)據(jù)完整性,而且部分操作系統(tǒng)也使用此算法來對用戶密碼進行加密,另外,它也是目前計算機犯罪中數(shù)據(jù)取證的最常用算法。

             

            MD5 相關的工具有很多,如 WinMD5等。

             

            3SHA1SHA256SHA384SHA512

             

            SHASecure Hash Algorithm)是由美國專門制定密碼算法的標準機構—— 美國國家標準技術研究院(NIST)制定的,SHA系列算法的摘要長度分別為:SHA20字節(jié)(160位)、SHA25632字節(jié)(256位)、 SHA38448字節(jié)(384位)、SHA51264字節(jié)(512位),由于它產(chǎn)生的數(shù)據(jù)摘要的長度更長,因此更難以發(fā)生碰撞,因此也更為安全,它是未來數(shù)據(jù)摘要算法的發(fā)展方向。由于SHA系列算法的數(shù)據(jù)摘要長度較長,因此其運算速度與MD5相比,也相對較慢。

             

            目前SHA1的應用較為廣泛,主要應用于CA和數(shù)字證書中,另外在目前互聯(lián)網(wǎng)中流行的BT軟件中,也是使用SHA1來進行文件校驗的。

             

            4RIPEMDPANAMATIGERADLER32

             

            RIPEMDHans Dobbertin3人在對MD4MD5缺陷分析基礎上,于1996年提出來的,有4個標準128160256320,其對應輸出長度分別為16字節(jié)、20字節(jié)、32字節(jié)和40字節(jié)。

             

            TIGERRoss1995年提出。Tiger號稱是最快的Hash算法,專門為64位機器做了優(yōu)化。

             

            二、常用數(shù)據(jù)摘要算法的測試

             

            1、測試方法

             

            測試范圍 :常見的數(shù)據(jù)校驗、摘要算法,主要有 CRC32MD5SHA1SHA256SHA384SHA512

            樣本數(shù)據(jù) :2G大小Vmware 虛擬機操作系統(tǒng)的磁盤文件,其中包含其中各種類型的文件,如二進制文件和文本文件等。

            軟件平臺 :Windows.NET Framework 2.0

            硬件平臺 :

            機器ASCSI Disk):軟件配置 Windows 2000 + .Net Framework 2.0;硬件配置 CPU4 Xeon),2.8GRAM2G HD70 GB SCSI

             機器BIDE Disk):軟件配置 Windows 2003 + .Net Framework 2.0;硬件配置 CPU1 P4),2.8GRAM1GHD40 GB IDE

            考慮到整個測試過程只是涉及到文件讀取與哈希值的計算,并無過多的與操作系統(tǒng)、軟件平臺、開發(fā)語言相關的操作,因此可以認為上述測試方法的結果具有普遍性,即也適用于其它操作系統(tǒng)平臺(如Linux/Unix)或應用語言/平臺(CJava)。

             

            2、測試結果

             

            1)不同配置機器間的對比

             

            在不同機器配置上的平均運算結果如下表所示:

             

             

             

            1:配有SCSI磁盤的機器運行時間反而比 IDE 磁盤時間長,可能是由于前者具有較多的應用負載造成的,如OracleWebSphere等,而且其OS Windows 2000,在之上運行 .NET 應用程序可能與 Windows 2003 的效率有所差別

             

            2:上述算法中,只有 CRC32 沒有包含在.NET Framework 中,而是使用C#單獨實現(xiàn)的,因此可能會對其測試結果帶來一些影響。

             

            2)不同算法的CPU占用率比較

             

            在不同的算法運行時,在機器B上監(jiān)控其對于 CPU 的平均使用時間,結果如下表所示:

             

             

             

            三、一些測試結論

             

            數(shù)據(jù)摘要算法的處理是很快的,在一般配置的PC機上使用MD5算法,處理1G的文件數(shù)據(jù)只需20-30秒(有些專用設備聲稱達 3GB/秒),不會對應用或機器帶來過多負載;

            MD5SHA1雖然被發(fā)現(xiàn)存在缺陷(碰撞),但在近幾年內(nèi),仍然可以大量使用;

            SHA256/384/512 的速度較慢,可以用于少量數(shù)據(jù)摘要,目前不適合用于大文件校驗;

             

            本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/collin1211/archive/2009/03/20/4006453.aspx

            posted on 2010-08-19 14:15 肥仔 閱讀(1739) 評論(0)  編輯 收藏 引用 所屬分類: 工具

            欧美久久亚洲精品| 久久亚洲精品无码AV红樱桃| 国产精品成人99久久久久| 精品久久国产一区二区三区香蕉| 久久e热在这里只有国产中文精品99| 狠狠色综合久久久久尤物| 久久久久这里只有精品| 国产69精品久久久久APP下载| 色综合久久久久无码专区| 国产精品久久精品| 日韩电影久久久被窝网| 国内精品伊人久久久久av一坑| 久久精品亚洲精品国产欧美| 国产亚洲美女精品久久久2020| 久久www免费人成看国产片| 久久伊人五月丁香狠狠色| 久久成人精品视频| 亚洲午夜久久久影院伊人| 国产成人综合久久久久久| 午夜久久久久久禁播电影| 久久精品国产一区二区电影| 九九精品99久久久香蕉| 午夜精品久久久内射近拍高清| 亚洲成人精品久久| 无码人妻久久一区二区三区| 亚洲一级Av无码毛片久久精品| 91超碰碰碰碰久久久久久综合| 一本久久a久久精品vr综合| 午夜精品久久久内射近拍高清| 色综合久久久久| 久久精品国产精品青草app| 人妻精品久久久久中文字幕一冢本| 欧美精品一区二区久久| 国产精品亚洲综合专区片高清久久久| 久久综合九色综合网站| 亚洲色欲久久久综合网东京热| 狠狠色丁香婷婷久久综合五月 | 久久精品国产只有精品2020| 久久久精品免费国产四虎| 久久99热精品| 亚洲?V乱码久久精品蜜桃|