md5 c语言实现对文件校验,C语言_MD5文件校验.pdf

C语言_MD5文件校验

MD5文件校验C语言实现

一.程序截图

二.程序代码及注释

#include

#include

#include

#include

#include

#include

CONSOLE_SCREEN_BUFFER_INFO csbiInfo;

externWINBASEAPIHWNDWINAPIGetConsoleWindow();

#defineF(x,y,z)(((x)&(y))|((~x)&(z)))

#defineG(x,y,z)(((x)&(z))|((y)&(~z)))

#defineH(x,y,z)((x)^(y)^(z))

#defineI(x,y,z)((y)^((x)|(~z)))

#defineRL(x,y)(((x)<>(32-(y)))) //x 向左循环移y位

#definePP(x)(x<<24)|((x<<8)&0x 0000)|((x>>8)&0x 00)|(x>>24) //将x高低位互换, 如

PP(aabbccdd)=ddccbbaa

#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,c,d)+x+ac),s))

#defineII(a,b,c,d,x,s,ac)a=b+(RL((a+I(b,c,d)+x+ac),s))

unsignedA,B,C,D,a,b,c,d,i,len,flen[2],x[16]; //i临时变量,len文件长,flen[2]为位二进制表示的文

件初始长度//x[16]

intfile_choose=0;//文件导入初始状态 //全局变量

charfilename2[30]="MD5_result.txt";//默认文件位置

voidmenu();

voidclear();

voidjs();

voidmd5();

voidsave();

charfilename[100]; //文件名

FILE*fp;

intmain(intargc,char*argv[])

{

intd1,d2,d,x,xy=0,i,k=0,s[100],ch,dir=40;

structre

{

inttop;

intleft;

intright;

intbottom;

}rt[7];

RECTrect;

HWNDhwnd;//窗口句柄

HDChdc,dc;//画图设备

HBRUSHhbr,hbr2;

COORDpos3_1= {1,4},pos2_1= {1,4},pos2_2= {1,5},pos2_3= {1,6},pos2_4= {1,7};

INPUT_RECORDmouseRec;

DWORDstate=0,res=0;

POINTpt;

HPENpn;

HANDLEhOut,hIn;

hwnd=GetConsoleWindow();

hdc=GetDC(hwnd);

dc=GetDC(hwnd);

SelectObject(dc,hbr);

for(rt[1].left=150,i=2;i<=3;i++) rt[i].left=rt[i-1].left+110;

for(rt[1].right=213,i=2;i<=3;i++) rt[i].right=rt[i-1].right+110;

for(i=0;i<=3;i++)rt[i].top=40;

for(i=0;i<=3;i++)rt[i].bottom=63;

hbr=CreateSolidBrush(RGB(180,180,180));

SelectObject(dc,hbr);

fo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值