[发明专利]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.vipzhuanli.com/pat/books/201410123911.3/2.html,转载请声明来源钻瓜专利网。