[發明專利]MD5的計算流程以及文件校驗方法有效
| 申請號: | 201410123911.3 | 申請日: | 2014-03-28 |
| 公開(公告)號: | CN103886087B | 公開(公告)日: | 2018-10-12 |
| 發明(設計)人: | 鐘捷群 | 申請(專利權)人: | 上海斐訊數據通信技術有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06F3/06 |
| 代理公司: | 杭州千克知識產權代理有限公司 33246 | 代理人: | 周希良 |
| 地址: | 201616 上海市松*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | md5 計算 流程 以及 文件 校驗 方法 | ||
本發明提出了一種MD5的計算流程,其包括先擴充原始數據文件,形成計算文件;獲取MD5采用的端序類型;判斷端序類型與當前計算平臺是否相同,如果相同,則直接計算N個64Byte原始數據分組的MD5校驗和,如果不相同,則先將N個64Byte原始數分組按32位字節進行字節序倒轉,然后計算MD5校驗和。現有技術MD5的標準算法在對64字節組進行運算時,對大端序平臺一般要先做字節序倒轉處理,然后計算。與現有技術相比,本發明MD5的計算流程可以在單板上避免不用進行或少進行字節序倒轉處理,從而可以減少校驗耗時。
技術領域
本發明涉及一種文件的校驗方法,尤其涉及一種MD5的計算流程和基于MD5的計算流程的校驗方法。
背景技術
計算機CPU對數據存儲和讀取有兩種端序:大端序和小端序。大端序最初在摩托羅拉的芯片中采用,目前在一些嵌入式芯片中廣泛采用。小端序,最初在英特爾芯片中使用,目前已得到廣泛應用。
MD5(Message-Digest Algorithm5,消息摘要算法第五版)標準算法是假定文件數據存儲和填充數據存儲的方式跟小端序平臺相同,在對64字節組進行運算時,對大端序平臺一般要先按32位字節做字節序倒轉處理,然后再計算。
框式交換機設備中通常包括幾塊到十幾塊可插拔單板,每塊單板有獨立的CPU芯片。在這些單板中,軟件啟動和升級過程一半涉及到采用MD5校驗方法來校驗文件的完整性。一般的校驗流程是:1)先在PC上按照MD5的標準算法計算原始數據文件的md5值,并和原始數據文件合成一個包文件,該包文件具體格式參考下表1。
MD5值 原始數據文件
表1
2)在單板上處理時,也按照MD5的標準算法計算包文件中原始數據文件的MD5值;然后跟包文件中的MD5值進行比較,一致則認為文件完整;否則,認為文件不完整,已經損壞。
由于現有不少數量的框式交換機設備采用的CPU芯片,對數據存儲和讀取采用大端序,因而,按照MD5的標準算法,對被校驗數據統一按照小字節序進行字節序倒轉處理,然后計算校驗和,這將導致校驗時間增多。
發明內容
本發明需解決的技術問題是提供一種減少校驗耗時的MD5的計算流程。
為解決上述的技術問題,本發明設計了一種MD5的計算流程,其包括以下步驟:
步驟1:先擴充原始數據文件,形成計算文件,所述計算文件包括N個64Byte原始數據分組、1個原始數據剩余塊和1個擴充數據塊;
步驟2:獲取MD5采用的端序類型;
步驟3:判斷端序類型與當前計算平臺是否相同,如果相同,則直接計算N個64Byte原始數據分組的MD5校驗和,如果不相同,則先將N個64Byte原始數分組按32位字節進行字節序倒轉,然后計算MD5校驗和;
步驟4:判斷當前計算平臺是否是小端序計算平臺,如果是,合并1個原始數據剩余塊和1個擴充數據塊,按照64Byte進行分組,并繼續計算,得到最終MD5校驗和,如果否,合并1個原始數據剩余塊和1個擴充數據塊,并按照64Byte進行分組,再對得到的每個分組按32位字節進行字節序倒轉,然后計算MD5校驗和,得到最終MD5值。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海斐訊數據通信技術有限公司,未經上海斐訊數據通信技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410123911.3/2.html,轉載請聲明來源鉆瓜專利網。





