文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | firefox | WPS | 杀毒软件 | Picasa
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发数据结构MD5算法解释
精品推荐
特别推荐
·网游外挂编写完全攻略
·开发WDM型的USB设备驱动程序
·数据库设计范式深入浅出
·理解软件保护技术之序列号方式
·大型网站必鉴:分销渠道的结构
·你的代码真的很健壮吗
·利用HOOK拦截封包原理
·四种网络游戏外挂的设计方法
·程序语言效率比较
·五子棋算法
·正则表达式从入门到精通
·SQL Server不能启动的常见故障
·Windows应用程序设计的基本术语
·软件本地化与汉化
·Windows中断编程
·windows nt 4.0中文版的开机过程
热点TOP10
·兵之利器 软件开发辅助工具纵览
·简单对象访问协议(SOAP)初级指南
·《数据结构》试题下载2004
·网游外挂编写完全攻略
·原始套接字透析之Raw Socket基础
·SQL Server不能启动的常见故障
·代码静态分析工具PC-LINT安装配置
·VS2008 第一次安装心得及使用
·开发WDM型的USB设备驱动程序
·透视特洛伊木马程序开发技术
·VS2005视频教程之站点地图[视频]
·IE工具条插件Toolbar开发简介
·BPEL的基本活动介绍
·Transact SQL 常用语句以及函数简易说明(含示例)2
·使用图形编辑框架创建基于 Eclipse 的应用程序
·DB2 数据库设计:取得最佳性能的准则
·带你全面了解数据库应用系统的开发步骤
·从B样条的插值点反求控制点
·使用BHO定制你的IE浏览器
·恶意代码的亲密接触之文件搜索和API导址

MD5算法解释

日期:2008年5月9日 作者: 查看:[大字体 中字体 小字体]


MD5算法说明
1、MD5算法是对输入的数据进行补位。使得如果数据位长度LEN对512求余的结果是448。即数据圹展至K*512+448位。即K*64+56个字节,K为整数。具体补位操作:
补一个1 然后补0至满足上述要求

2、补数据长度

用一个64位的数字表示数据的原始长度B,把B用两个32位数表示。这时数据就被填成长度为512位的倍数。

3、初始化MD5参数

四个32位整数(A,B,C,D)用来计算信息摘要,初始化使用的是十六进制表示的数字A=0X01234567
B=0X89abcdef
c=0Xfedcba98
D=0X76543210
4、处理位操作函数
X。Y。Z为32位整数

F(X.Y.Z) = XYINOT[X]
g(X.y.z) = XZIY?[Z]
h(x.y.z) = X xor Y xor Z
I(X.Y.Z) = X xor (XInot(z))

5、主要变换过程:
使用常数组T[1......64].T[i]为32位整数用6进制表示.数据用16个32位的整数数组M[]表示.

具体过程如下:

/*处理数据原文*/

For i = 0 to N /16-1 DO

/*每一次 把数据原文存在16个元素的数组X中。*/

For i=0 to 15 do
set X[i] to M[i*16+J]

END /结束对J的循环
/* SAVE A AS AA,B AS BB,C AS CC,AND D AS DD。*/

AA=A
BB=B
CC=C
DD=D

/*第1轮*/
/* 以[ABCD K S I]表示如下操作

A=B+((a+F(b,c,d)+X[k]+T[i])<<<s).*/
/* do the following 16 operations.*/

[abcd 0 7 1][dabc 1 12 2][CDAB 2 17 3][BCDA 3 22 4]
[abcd 4 7 5][dabc 5 12 6][CDAB 6 17 7][BCDA 7 22 8]
[ABCD 8 7 9][DABC 9 12 10][CDAB 10 17 11][BCDA 11 22 12]
[ABCD 12 7 13][DABC 13 12 14][[CDAB 14 17 15][BCDA 15 22 16]

/*第2轮****/

/* 以[ABCD K S I]表示如下操作

A =B+(((A+G(B,C,D)+[K]+t[i]<<<S).*/

/* do THE FOLLWING 16 OPERATIONS.*/

[abcd 1 5 17][DABc 6 9 18[cdab 11 14 19][bcda 0 20 20]
[abcd 5 5 21][dabc 10 9 22][CDAB 15 14 23][BCDA 4 20 24]
[ABCD 9 5 25][DABC 14 9 26][CDAB3 14 27][BCDA 4 20 24]
[ABCD 13 5 29][DABC 2 9 30][CDAB 7 14 31][BCDA 12 20 32]

第三轮*/

/*[ABCD K S I] A=B+((A+h(B,C,D)x[K]+T[I]<<<S)

[abcd 5 4 33][dabc 8 11 34][cdab 11 16 35][bcda 14 23 36]
[abcd 1 4 37][dabc 4 11 38][cdab 7 16 39][bcda 10 23 40]
[abcd 13 4 41][dabc 0 11 42][cdab 3 16 43][bcda 6 23 44]
[avcd 9 4 45][dabc 12 11 46][cdab 15 16 47][bcda 2 25 48]

下来就是四了

A=A+AA
B=B+BB
C=C+CC
D=D+DD
END结束对i的循环

下来加密就结束了~输出的结果就是我们看不清楚的16位加密了
下来大家可以用这个试试~
<%
''''''''********************************************md5算法开始****************************************
''''''''****** md5加密 ******** *********
Private Const BITS_TO_A_BYTE = 8
Private Const BYTES_TO_A_Word = 4
Private Const BITS_TO_A_word = 32

Private m_lOnBits(30)
Private m_l2Power(30)

Private Function LShift(lvalue, iShiftBits)
If iShiftBits = 0 Then
LShift = lvalue
Exit Function
ElseIf iShiftBits = 31 Then
If lvalue And 1 Then
LShift = &H80000000
Else
LShift = 0
End If
Exit Function
ElseIf iShiftBits < 0 Or iShiftBits > 31 Then
Err.Raise 6
End If

If (lvalue And m_l2Power(31 - iShiftBits)) Then
LShift = ((lvalue And m_lOnBits(31 - (iShiftBits + 1))) * m_l2Power(iShiftBits)) Or &H80000000
Else

[1] [2] [3] 下一页 




上一篇:COM 组件设计与应用之数据类型

下一篇:搭建Ruby on Rails开发环境

MD5算法解释 相关文章:
·asp.net(C#)海量数据表高效率分页算法(易懂,不使用存储过程)
·公钥密码系统及RSA公钥算法
·SAM的散列存储加密解密算法
·不用迭代算法而快速实现的jsp树结构
·单源点最短路径Dijkstra算法的JAVA实现
·BIOS开机自检的中文解释
·输入验证+重启验证的软件破解 算法分析
·Windows 2003安全设置大全-2003系统错误大全解释(1)
·对称加密算法技术概述
·自动发贴程序-百度贴吧验证码算法
MD5算法解释 相关软件:
·算法导论 pdf 中文版
·DOS下常用网络命令解释大全
·经济解释
·数据结构与算法
·城市规划术语解释
·Cisco 名词解释
·数据结构与算法分析习题与解答
·java词汇表速查表(附J2EE名词解释)
·Windows开发Java.Net数据库算法CSDN开发高手
·Visual Basic 术语解释

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot