`
huainansto
  • 浏览: 27592 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

生成MD5编码

    博客分类:
  • JAVA
阅读更多

MD5算法说明


<!-- 正文begin --> 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)=X&Y|NOT(X)&Z
G(X,Y,Z)=X&Z|Y?(Z)
H(X,Y,Z)=XxorYxorZ
I(X,Y,Z)=Yxor(X|not(Z))
5、主要变换过程:使用常数组T[1...64],T[i]为32位整数用16进制表示,数据用16个32位的整数数组M[]表示。

具体过程如下:
/*处理数据原文*/
Fori=0toN/16-1do
/*每一次,把数据原文存放在16个元素的数组X中.*/
Forj=0to15do
SetX[j]toM[i*16+j].
end/结束对J的循环
/*SaveAasAA,BasBB,CasCC,andDasDD.*/
AA=A
BB=B
CC=C
DD=D
/*第1轮*/
/*以[abcdksi]表示如下操作
a=b+((a+F(b,c,d)+X[k]+T[i])<<<s).*/
/*Dothefollowing16operations.*/
[ABCD071][DABC1122][CDAB2173][BCDA3224]
[ABCD475][DABC5126][CDAB6177][BCDA7228]
[ABCD879][DABC91210][CDAB101711][BCDA112212]
[ABCD12713][DABC131214][CDAB141715][BCDA152216]
/*第2轮**/
/*以[abcdksi]表示如下操作
a=b+((a+G(b,c,d)+X[k]+T[i])<<<s).*/
/*Dothefollowing16operations.*/
[ABCD1517][DABC6918][CDAB111419][BCDA02020]
[ABCD5521][DABC10922][CDAB151423][BCDA42024]
[ABCD9525][DABC14926][CDAB31427][BCDA82028]
[ABCD13529][DABC2930][CDAB71431][BCDA122032]
/*第3轮*/
/*以[abcdksi]表示如下操作
a=b+((a+H(b,c,d)+X[k]+T[i])<<<s).*/
/*Dothefollowing16operations.*/
[ABCD5433][DABC81134][CDAB111635][BCDA142336]
[ABCD1437][DABC41138][CDAB71639][BCDA102340]
[ABCD13441][DABC01142][CDAB31643][BCDA62344]
[ABCD9445][DABC121146][CDAB151647][BCDA22348]
/*第4轮*/
/*以[abcdksi]表示如下操作
a=b+((a+I(b,c,d)+X[k]+T[i])<<<s).*/
/*Dothefollowing16operations.*/
[ABCD0649][DABC71050][CDAB141551][BCDA52152]
[ABCD12653][DABC31054][CDAB101555][BCDA12156]
[ABCD8657][DABC151058][CDAB61559][BCDA132160]
[ABCD4661][DABC111062][CDAB21563][BCDA92164]
/*然后进行如下操作*/
A=A+AA
B=B+BB
C=C+CC
D=D+DD
end/*结束对I的循环*/
6、输出结果。

分享到:
评论

相关推荐

    使用 Java 生成 MD5 编码

    NULL 博文链接:https://nnbchuang.iteye.com/blog/1431812

    随机编码生成器&MD5加密字符串工具(NO:79)

    功能和界面见介绍https://jiuai.blog.csdn.net/article/details/115982294 看清需求后如需要了再下载!自行决定不喜勿喷,欢迎指导

    MD5的加密解密c#代码

    MD5加密解密工具,就我所知,MD5的目标是生成摘要。...据说有个叫王小云的女数学家破解了MD5算法,我觉得应该是看到一个MD5编码,就可以找到一个序列,生成的MD5编码刚好是被破解的那个MD5编码,这样的吧

    MD5加密字符串生成密码

    本人写的字符串加密成MD5工具,比如在你想生成MD5密码时,忘记密码时,这个工具就有用了,帮你生成密码,用了很长时间了,绝对主流。

    windows下MD5加密工具bat文件

    将md5加密制作成了windows下bat执行文件,可循环执行不同字符加密,输入quit可退出加密界面,附源码。

    使用hashlib生成MD5编号

    使用hashlib生成MD5编号,适合想要唯一认证编码的python工作者使用的小Demo

    md5-hex:使用十六进制编码创建MD5哈希

    使用十六进制编码创建MD5哈希 请不要将MD5哈希用于任何敏感内容! 当与Webpack,Rollup,Browserify等捆绑程序一起使用时,也可以在浏览器中使用。 如果您需要更灵活的 ,请结帐 。 安装 $ npm install md5-hex ...

    MD5 校验工具(文件md5验证)

    此工具,可以校验文件 md5编码 ,具有md5 编码对比功能,亦可生成md5 字符串 。 例如:1 经过md5加密后值为“c4ca4238a0b923820dcc509a6f75849b”

    MD5加密32位小写

    这个是以md5加密32位小写具体算法实例。可直接用于云mas的HTTP、和webservice接口。

    使用md5对文件去重 python

    有时会存在名称不同,但是内容却相同的文件,此时单单凭文件名是没办法区分开的,所以可以尝试,对文件内容进行md5加密,每个文件,只要其内容完全相同,生成的md5值是一样的,但是要保证文件的编码格式一致。...

    MD5生成器(32位)

    MD5生成器,好用亲写亲测

    MD5计算检验工具 x64

    有两种方法得到字典,一种是日常搜集的用做密码的字符串表,另一种是用排列组合方法生成的,先用MD5程序计算出这些字典项的MD5值,然后再用目标的MD5值在这个字典中检索。 &lt;br&gt; 即使假设密码的最大长度为8,同时...

    加密解密Demo (MD5,AES,XOR)

    Delphi 加密解密Demo (MD5,AES,XOR) 源代码下载可参考使用

    JIT生成的汇编码.md

    用hsdis观察synchronized和volatile的底层原理,由于JIT会为所有代码生成汇编,请搜索T::m T::n,来找到m() 和 n()方法的汇编码。

    动态文件更新模块

    内含模块更新文件生成器config_exe,对选中模块生成md5编码,更新器启动自动连接config_exe生成的文件效验文件,检查本地文件是否最新是否更新到本地。网络,线程,下载,界面代码在其中

    MD5加密函数 for javascript

    MD5加密函数 for javascript 32位md5加密。例如用在用户登陆时的密码,可以在客户端...或者在某些特定的情况下用来生成风格统一的随机码---用时间组合随机数组成的字符串来进行md5加密,则得到一个类似guid的唯一编码。

    QQ登录器C++源代码(BCB2007)(含MD5算法及BASE64编码解码的C源代码)

    MD5Class: 完整的MD5码生成类和Base64编码解码函数. Tmqlgn.cfg: 保存QQ登录命令行(经过加密处理) 声明: 程序中的MD5算法和BASE64编码算法均来自互联网,经适当的改编封装而成,未经原作者许可, 请勿用于商业目的. ...

    C#计算文件MD5校验的方法

    C#计算文件的MD5校验,从互联网上下载一个文件,可以使用下面的代码对文件进行MD5校验,看看生成的MD5编码是否和网站提供的一致,如果不一致则表示文件被修改过了,要慎重。 protected string GetMD5HashFromFile&#...

    php MD5 base64 crypt等加密函数用法集.rar

    包括了MD5 base64 crypt Sha1等。一些用法说明如下:  var_dump(md5('zxcasd',$raw_output=true)); //raw_output为可选参数如果被设置为true那么MD5报文摘要将以16字节长度的原始二进制格式返回  echo crypt('...

Global site tag (gtag.js) - Google Analytics