资源简介
一直找不到MD5在MFC上的源代码,从网上下载了一个C语言写的,加工了一下,改造成MFC的了,新手可以下载看看,主要的代码都在mfc_md5Dlg.cpp里,编译时,要打开 工程→设置→C/C++→分类:预编译的头文件→不使用预补偿页眉
代码片段和文件信息
// #include
#define F(x y z) (((x) & (y)) | ((~x) & (z)))
#define G(x y z) (((x) & (z)) | ((y) & (~z)))
#define H(x y z) ((x) ^ (y) ^ (z))
#define I(x y z) ((y) ^ ((x) | (~z)))
#define RL(x y) (((x) << (y)) | ((x) >> (32 - (y)))) //x向左循环移y位
#define PP(x) (x<<24)|((x<<8)&0xff0000)|((x>>8)&0xff00)|(x>>24) //将x高低位互换例如PP(aabbccdd)=ddccbbaa
#define FF(a b c d x s ac) a = b + (RL((a + F(bcd) + x + ac)s))
#define GG(a b c d x s ac) a = b + (RL((a + G(bcd) + x + ac)s))
#define HH(a b c d x s ac) a = b + (RL((a + H(bcd) + x + ac)s))
#define II(a b c d x s ac) a = b + (RL((a + I(bcd) + x + ac)s))
unsigned ABCDabcdilenflen[2]x[16];
void md5(){ //MD5核心算法供64轮
a=Ab=Bc=Cd=D;
/**//* Round 1 */
FF (a b c d x[ 0] 7 0xd76aa478); /**//* 1 */
FF (d a b c x[ 1] 12 0xe8c7b756); /**//* 2 */
FF (c d a b x[ 2] 17 0x242070db); /**//* 3 */
FF (b c d a x[ 3] 22 0xc1bdceee); /**//* 4 */
FF (a b c d x[ 4] 7 0xf57c0faf); /**//* 5 */
FF (d a b c x[ 5] 12 0x4787c62a); /**//* 6 */
FF (c d a b x[ 6] 17 0xa8304613); /**//* 7 */
FF (b c d a x[ 7] 22 0xfd469501); /**//* 8 */
FF (a b c d x[ 8] 7 0x698098d8); /**//* 9 */
FF (d a b c x[ 9] 12 0x8b44f7af); /**//* 10 */
FF (c d a b x[10] 17 0xffff5bb1); /**//* 11 */
FF (b c d a x[11] 22 0x895cd7be); /**//* 12 */
FF (a b c d x[12] 7 0x6b901122); /**//* 13 */
FF (d a b c x[13] 12 0xfd987193); /**//* 14 */
FF (c d a b x[14] 17 0xa679438e); /**//* 15 */
FF (b c d a x[15] 22 0x49b40821); /**//* 16 */
/**//* Round 2 */
GG (a b c d x[ 1] 5 0xf61e2562); /**//* 17 */
GG (d a b c x[ 6] 9 0xc040b340); /**//* 18 */
GG (c d a b x[11] 14 0x265e5a51); /**//* 19 */
GG (b c d a x[ 0] 20 0xe9b6c7aa); /**//* 20 */
GG (a b c d x[ 5] 5 0xd62f105d); /**//* 21 */
GG (d a b c x[10] 9 0x02441453); /**//* 22 */
GG (c d a b x[15] 14 0xd8a1e681); /**//* 23 */
GG (b c d a x[ 4] 20 0xe7d3fbc8); /**//* 24 */
GG (a b c d x[ 9] 5 0x21e1cde6); /**//* 25 */
GG (d a b c x[14] 9 0xc33707d6); /**//* 26 */
GG (c d a b x[ 3] 14 0xf4d50d87); /**//* 27 */
GG (b c d a x[ 8] 20 0x455a14ed); /**//* 28 */
GG (a b c d x[13] 5 0xa9e3e905); /**//* 29 */
GG (d a b c x[ 2] 9 0xfcefa3f8); /**//* 30 */
GG (c d a b x[ 7] 14 0x676f02d9); /**//* 31 */
GG (b c d a x[12] 20 0x8d2a4c8a); /**//* 32 */
/**//* Round 3 */
HH (a b c d x[ 5] 4 0xfffa3942); /**//* 33 */
HH (d a b c x[ 8] 11 0x8771f681); /**//* 34 */
HH (c d a b x[11] 16 0x6d9d6122); /**//* 35 */
HH (b c d a x[14] 23 0xfde5380c); /**//* 36 */
HH (a b c d x[ 1] 4 0xa4beea44); /**//* 37 */
HH (d a b c x[ 4] 11 0x4bdecfa9); /**//* 38 */
HH (c d a b x[ 7]
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-10-23 15:44 mfc_md5\
目录 0 2012-10-23 15:42 mfc_md5\Debug\
文件 4526 2012-10-22 16:45 mfc_md5\md5.cpp
文件 20 2012-10-22 16:38 mfc_md5\md5.h
文件 35540 2012-10-22 17:26 mfc_md5\mfc_md5.aps
文件 1182 2012-10-23 15:43 mfc_md5\mfc_md5.clw
文件 2077 2012-10-22 15:26 mfc_md5\mfc_md5.cpp
文件 4195 2012-10-22 17:32 mfc_md5\mfc_md5.dsp
文件 520 2012-10-22 15:26 mfc_md5\mfc_md5.dsw
文件 1335 2012-10-22 15:26 mfc_md5\mfc_md5.h
文件 50176 2012-10-23 15:44 mfc_md5\mfc_md5.ncb
文件 49664 2012-10-23 15:44 mfc_md5\mfc_md5.opt
文件 1287 2012-10-22 17:30 mfc_md5\mfc_md5.plg
文件 5396 2012-10-22 17:26 mfc_md5\mfc_md5.rc
文件 10499 2012-10-22 17:30 mfc_md5\mfc_md5Dlg.cpp
文件 1382 2012-10-22 16:09 mfc_md5\mfc_md5Dlg.h
文件 3597 2012-10-22 15:26 mfc_md5\ReadMe.txt
目录 0 2012-10-22 15:26 mfc_md5\res\
文件 777 2012-10-22 17:15 mfc_md5\resource.h
文件 1078 2012-10-22 15:26 mfc_md5\res\mfc_md5.ico
文件 399 2012-10-22 15:26 mfc_md5\res\mfc_md5.rc2
文件 209 2012-10-22 15:26 mfc_md5\StdAfx.cpp
文件 1054 2012-10-22 15:26 mfc_md5\StdAfx.h
相关资源
- c++编的mfc 贪吃蛇游戏
- mfc 对话框 创建进度条 显示当前进度
- MFC操作Excel表,excel.hexcel.cpp源码
- 基于mfc tcp 文件传输 源代码
- MFC(C++)程序与文件关联后缀名含C
- MFC铅笔直线矩形菱形 算法
- MFC 五子棋 一个简单的五子棋游戏
- 酒店管理系统 VC++ MFC实现)
- 学生信息管理mfcword文档
- 一个MFC实现的简单的记事本程序
- VS2010中MFC工程名的修改
- VC++查看鼠标在图像选点坐标程序
- MFC类图-vs2010最新
- MFCC的matlab实现
- VS2010/MFC 读写excel文件 操作类
- MFC读取SHP文件
- 斗地主小游戏MFC版源程序
- C++网络聊天室程序
- 说话人识别代码
- VS2012 MFC小程序 简易网络聊天室
- MFC中使用JSONCPP_VS2013
- MFC 制作文本编辑器 桌面便签 置顶 置
- mfc+opengl离散点绘制曲面
- MFC 实现读取文件中的数字,并求和
- MFC和MATLAB混合编程
- C++MFC物资管理系统源码.zip
- vc++6.0 mfc 关于播放.AVI格式的文件源代
- mfc 课程设计 view 浏览器 收藏夹
- MFC绘图小程序可以拖动哦
- 基于vc的mfc手柄遥控上位机Joy_Send步骤
评论
共有 条评论