资源描述:
《基于md5的文件完整性校验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验四、基于MD5的文件完整性校验程序设计与实现1>实验目的♦验证MD5的工作原理。♦编写并调试基于MD5的文件完整性校验程序。2、实验设备与环境』连网PC机(至少一台)。4-计算机硬件要求:IntelPentium5处理器、256MB以上内存,Ethernet网卡,网线若干。丄计算机软件要求:WindowsXP/win7操作系统,TCP/IP协议,Visualstudio系统。3、实验要求丄能够以浏览的方式打开指定的文件丄能够计算指定文件的MD5丄能够将文件的MD5结果转换为大写丄文件内容改变后能够判别文件已被篡改4.实验步骤步骤仁使用VC++的应用程序生成向导(MFC
2、AppWizard[exe])创建一个基于对话框的工程,该工程的名称为201200824302MD5新建文件工程工作区其它文档项目名称201200824302MD5feBic):;D:伏三上闻络安全程序设讯20QATLCOMAppWizard刁ClusterResourceTypeWizard超CustomAppWizard^DatabaseProject彎DevStudioAdd-inWizardExtendedStoredProcWizard也ISAPIExtensionWizard^MakefilejgMFCActiveXControlwizard逼MFCAppWi
3、zard(dll)58MFCAppWizardjexe)科UtilityProjectT1Win32Application"1Win32ConsoleApplicationMWin32DynamioLinkLibrary薊Win32StaticLibraryQ创建新的工作空间回「楼加到当前工作空间回厂从属于回:
4、201200824302MD5平台(EJ:Win32确定取消步骤2:主界面的设计:同时在类向导里面添加需要的变量:IVirL.CldSSVVIZdrUMessageMapsMemberVariablesAutomationActiveXEventsClassInf
5、oProject:Classname:
6、201200824302MD5二
7、
8、CMy201200824302MD5DlgD:...201200824302MD5Dlg.h,DA-.A201200824302MD5Dlg.cppControlIDs:TypeMemberAddClass..・▼IDCABOUTBUTTONIDC_CAPITAL_BUTTONIDC_COMPARE_BUTTONIDC_COPY_BU?TONidcZfile.editiDCZOPENZBUTrONIDC_卩ROGflFSSIlUCANUtLIDOKDescription:步!CStringmm
9、d5valueCProgressCtrlmprogress3:添加每一个按钮的响应事件AddVariable...DeleteVariableUpdateColumnsBindAll添加的两个变量3.1宏定义的添加:#include#inelude#inelude#inelude#inelude"windows.h”defineF(x,y,z)(((x)&(y))
10、((~x)&(z)))#defineG(x,y,z)(((x)&(z))
11、((y)&(~z)))efineH(x,y,z)((x)A(y
12、)A⑵)^definel(x,y,z)((y)A((x)
13、(~z)))#defineRL(x,y)(((x)«(y))
14、((x)»(32-(y))))//x向左循环移y位#definePP(x)(x«24)
15、((x«8)&0xff0000)
16、((x»8)&0xff00)
17、(x»24)#defineFF(a,b,c,d,x,s,ac)a=b+(RL((a+F(b,c,d)+x+ac),s))#defineGG(a,b,c,d,x,s,ac)a=b+(RL((a+G(b,c,d)+x+ac),s))#defineHH(a,b,c,d,x,s,ac)a=b+(RL((a+H(b
18、/c,d)+x+ac),s))#defineUfa,b,c,d,x,s,ac)a=b+(RL((a+l(b,c,d)+x+ac),s))3.2函数在声明:voidmd5();3.3函数的实现:voidCMy201200824305_MD5Dlg::md5(){a=A,b=B,c=C,d=D;/**//*Round1*/FF(a,b,c,d,x[0],7,0xd76aa478);/**//*1*/FF(d,a,b,c,x[l]f12,0xe8c7b756);/**//*2*/FF(c,d,a,b,x[2],17,0x242070