毕业设计网
JSP,JAVA | python | nodejs | android,安卓 | PHP | 微信小程序 |

文件完整性校验工具的设计与实现

随着网络技术的飞速发展,网络环境的复杂性使得数据在传输过程中容易出现错误,尤其是随着计算机病毒和黑客入侵等攻击的发生越来越多,使得对文件完整性的校验成为一个必要的过程。MD5校验器的设计就是为了计算出文件的MD5值,这个值是惟一的,与原值比较即可确定文件的完整性与否。本设计采用了面向对象的高级语言Python编译实现,核心技术采用了MD5算法。论文论述了MD5校验器的设计、开发和测试全过程。其中包括对MD5校验算法的分析、设计、实现过程,以及MD5校验器的功能需求分析,总体方案设计,各个功能模块的设计和实现细节。并且还介绍了设计和实现MD5校验器的技术背景和原理。最终通过校验结果的正确输出验证了本软件能够解决校验文件完整性的问题。
[关键词] MD5;算法;校验器;文件完整性
 3.1  总体功能说明
本程序主要完成了以下的功能:
对文件(txt文件)进行MD5运算,运算后的文件存储在用户指定的文件中。(若用户不指定,则自动生成文件名.txt文件用于保存。)
 HASH值按照要求为16进制。
3.4  MD5算法流程
MD5 算法将输入的消息进行分组,每组512 位(即64 字节),顺序处理完所有组后输出128 位结果,将这128 位用十六进制表示便得常见的32 字符的MD5 码,而所谓的16 字符的MD5 码,就是这32 字符中间的16 个字符。
在每一组消息的处理中,都要进行4 轮、每轮16 步、总计64 步的处理。其中每步计算中含一次左循环移位,每一步结束时将计算结果进行一次右循环移位。详见下方流程(未优化)。
 算法流程如下:
1、 初始化
设置常数表g_nTable[4][16] ,他有64 个常量,对应每组处理的4×16 =64 步。由于是常量,也可以在计算时直接嵌入数据。每个g_nTable[i][j] 通过公式 )1*16sin(*232++ ji 计算后取整得到。这里i∈[0,3] ,j∈[0,15],16*i+j+1 的单位为弧度,而非角度。

目    录
1 背景与意义 1
1.1 项目开发背景 1
1.2 项目开发意义 1
2 系统分析 1
2.1 MD5 2
2.1.1 算法概述 2
2.1.2 算法步骤 5
2.1.3 MD5的安全性 6
2.2 开发技术的选择 6
2.2.1 C语言 7
2.2.2 Python 7
2.3 开发工具的选择 8
3 系统设计 9
3.1 总体功能说明 9
3.2 用户界面 9
3.3 关键算法描述 10
3.4 MD5算法流程 11
4 编码与实现 13
4.1 主要算法实现 13
4.1.1 初始化函数 13
4.1.2 处理函数 14
4.1.3 完成函数 14
4.1.4 转换函数 15
4.2 路径实现 16
5 系统测试与运行 19
5.1 软件测试 19
5.1.1 软件测试的重要性 19
5.1.2 软件测试的原则 20
5.1.3 测试方法 20
5.2 测试目的 20
5.3 测试过程 21
5.4 软件运行情况 21
结束语 23
参考文献 24
致谢 25

以上是一部分介绍,如需要完整的资料或者如不符合您的要求,请联系技术人员qq:242219979咨询

上一篇:企业网设计与优化毕业论文
下一篇:java公路局门户网站的设计ssm


版权所有 毕业设计网联系qq:242219979 © 2007-2022