md5算法是不是唯一的?

问题描述

md5算法是不是唯一的?

md5.js中和其他一些文档中,有几点不同,也有几个看不明白:
1.四轮轮回中的最后一个参数不同,就拿第一个来说,md5.js中是-680876936,而其他文档中介绍的是0xd76aa478,经计算并不是同一个数啊,况且其他文档中介绍的,好像是每一句代码都是一个循环,而不是这4*14句代码全部是一个循环,否则i的值是相同的啊。
2.我没有在md5.js中看到将数据分块的代码呢?
3.倒数第二个参数是什么?

代码:
1.md5.js:http://pan.baidu.com/s/1ktzVC
2.其他文档:http://pan.baidu.com/s/1eQ3ObUa

时间: 2024-11-03 06:35:07

md5算法是不是唯一的?的相关文章

MD5算法研究

算法 综述 MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发出来,经MD2.MD3和MD4发展而来.它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数).不管是MD2.MD4还是MD5,它们都需要获得一个随机长

MD5算法研究(1)

算法 综述 MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发出来,经MD2.MD3和MD4发展而来.它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数).不管是MD2.MD4还是MD5,它们都需要获得一个随机长

MD5算法研究(2)

算法 FF(b,c,d,a,M3,22,0xc1bdceee) FF(a,b,c,d,M4,7,0xf57c0faf) FF(d,a,b,c,M5,12,0x4787c62a) FF(c,d,a,b,M6,17,0xa8304613) FF(b,c,d,a,M7,22,0xfd469501) FF(a,b,c,d,M8,7,0x698098d8) FF(d,a,b,c,M9,12,0x8b44f7af) FF(c,d,a,b,M10,17,0xffff5bb1) FF(b,c,d,a,M11,2

JAVA MD5算法应用

        在一些对安全需求比较高的WEB站点中,除了要保证数据的传输有保障之外,数据库的内容也需要做一些处理,像银行之类的系统,要防止外人取得数据,还不能让管理员看到账号和密码.很多时候都是利用MD5算法来保证数据的完整性和安全性,但是MD5算法并不是一个加密算法,它就像人的"指纹"一样,每个人都有指纹,而且指纹都不一样,MD5算法算出的结果,就像数据的指纹一样,任何数据,不论它占用多少空间,它的指纹都能作为这块数据的唯一标识.,SUN公司的JDK文档就描述了如何通过类java.

MD5算法解析

MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2.MD3和MD4发展而来. MD5将任意长度的"字节串"变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数. MD5的典型应用是对一段Message

【VB】MD5算法

昨天才真正搞懂,ASP.NET和ASP是不同的!! google上搜了下,感觉这个介绍的挺好的: ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强.ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型.面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: 1.代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力

java MD5算法返回数字型字串

算法   常有人问及MD5算法为何有些程序片断返回完全数字型结果而有些返回数字与字母的混合字串. 其实两种返回结果只是因为加密结果的不同显示形式,Blog中已经有.Net的实现,在此附加JAVA实现,供参考. JAVA的标准类库理论上功能也很强大,但由于虚拟机/运行时的实现太多,加之版本差异,有些代码在不同环境下运行会出现奇怪的异常结果,尤其以涉及字符集的操作为甚. package com.bee.framework.common; import java.security.MessageDig

MD5算法说明(转)

算法 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=

MD5算法之C#程序 MD5算法描述

程序|算法 当我要写一个MD5算法的程序时,发现中英文的语言描述都有一些不确切的地方,某些个细节讲得不清楚,或者说很费解.最后不得不拿出C语言的源程序来调试,这对于理解算法是很不利的.于是就总结了一下我摸索到的一些要点. 1.来历MD5的全称是message-digest algorithm 5(信息-摘要算法,在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest开发出来,经md2.md