Md5的计算流程以及文件校验方法

文档序号:6542267阅读:1529来源:国知局
Md5的计算流程以及文件校验方法
【专利摘要】本发明提出了一种MD5的计算流程,其包括先扩充原始数据文件,形成计算文件;获取MD5采用的端序类型;判断端序类型与当前计算平台是否相同,如果相同,则直接计算N个64Byte原始数据分组的MD5校验和,如果不相同,则先将N个64Byte原始数分组按32位字节进行字节序倒转,然后计算MD5校验和。现有技术MD5的标准算法在对64字节组进行运算时,对大端序平台一般要先做字节序倒转处理,然后计算。与现有技术相比,本发明MD5的计算流程可以在单板上避免不用进行或少进行字节序倒转处理,从而可以减少校验耗时。
【专利说明】MD5的计算流程以及文件校验方法
【技术领域】
[0001]本发明涉及一种文件的校验方法,尤其涉及一种MD5的计算流程和基于MD5的计算流程的校验方法。
【背景技术】
[0002]计算机CPU对数据存储和读取有两种端序:大端序和小端序。大端序最初在摩托罗拉的芯片中采用,目前在一些嵌入式芯片中广泛采用。小端序,最初在英特尔芯片中使用,目前已得到广泛应用。
[0003]MD5 (Message-Digest Algorithm5,消息摘要算法第五版)标准算法是假定文件数据存储和填充数据存储的方式跟小端序平台相同,在对64字节组进行运算时,对大端序平台一般要先按32位字节做字节序倒转处理,然后再计算。
[0004]框式交换机设备中通常包括几块到十几块可插拔单板,每块单板有独立的CPU芯片。在这些单板中,软件启动和升级过程一半涉及到采用MD5校验方法来校验文件的完整性。一般的校验流程是:1)先在PC上按照MD5的标准算法计算原始数据文件的md5值,并和原始数据文件合成一个包文件,该包文件具体格式参考下表1。
【权利要求】
1.一种MD5的计算流程,其特征在于,包括以下步骤: 步骤1:先扩充原始数据文件,形成计算文件,所述计算文件包括N个64Byte原始数据分组、I个原始数据剩余块和I个扩充数据块,N为自然数; 步骤2:获取MD5采用的端序类型; 步骤3:判断端序类型与当前计算平台是否相同,如果相同,则直接计算N个64Byte原始数据分组的MD5校验和,如果不相同,则先将N个64Byte原始数分组按32位字节进行字节序倒转,然后计算MD5校验和; 步骤4:判断当前计算平台是否是小端序计算平台,如果是,合并I个原始数据剩余块和I个扩充数据块,按照64Byte进行分组,并继续计算,得到最终MD5校验和,如果否,合并I个原始数据剩余块和I个扩充数据块,并按照64Byte进行分组,再对得到的每个分组按32位字节进行字节序倒转,然后计算MD5校验和,得到最终MD5值。
2.根据权利要求1所述的MD5的计算流程,其特征在于,所述端序类型为大端序类型或小端序类型。
3.根据权利要求2所述的MD5的计算流程,其特征在于,所述当前计算平台为大端序计算平台或小端序计算平台。
4.一种文件校验方法,其特征在于,包括以下步骤: 步骤1:在PC上根据权利要求1所述的MD5的计算流程得到原始数据文件的MD5值; 步骤2:合成文件包,所述文件包包括MD5值,端序类型和原始数据文件; 步骤3:在单板上处理,再根据权利要求1所述的MD5的计算流程得到文件包中的原始数据文件的MD5值,其中,获取MD5采用的端序类型为文件包中的端序类型; 步骤4:将上述得到的原始数据文件的MD5值与所述文件包中的MD5值进行比较,如果一致,则认为原始数据文件完整,否则,则认为文件不完整。
【文档编号】G06F17/30GK103886087SQ201410123911
【公开日】2014年6月25日 申请日期:2014年3月28日 优先权日:2014年3月28日
【发明者】钟捷群 申请人:上海斐讯数据通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1