`
Dustin
  • 浏览: 310831 次
  • 性别: Icon_minigender_1
  • 来自: 广州/成都
社区版块
存档分类
最新评论

Message Digest Algorithm 5 信息摘要算法5

阅读更多
一、若我们定义一个函数 ,原型为: 
String MD5 ( Information info)
其中Information 表示任意长度的信息,注意是任意长度的。 实现这个函数的最终要求:
1、对于相同的输入信息,产生的返回值结果相同;对于不同的信息得到得结果决不相同。(后者由于我
     国王小云教授等人的研究成果已经不成立,也就是说两个不同的信息可能会产生“碰撞”,得到的结
    果是一样的。)
2. 算法不可逆转,即使拥有返回结果和算法细节,也不可能推导出输入的初始信息。
下面是MD5算法对一些特定值产生的返回值:
          md5 ("") = d41d8cd98f00b204e9800998ecf8427e
   md5 ("a") = 0cc175b9c0f1b6a831c399e269772661
   md5 ("abc") = 900150983cd24fb0d6963f7d28e17f72
   md5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0
   md5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b 
           md5("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789")
                   =d174ab98d277d9f5a5611c2c9f419d9f                
     
     对于第二个要求,就是说,给你一个32位的字符串d41d8cd98f00b204e9800998ecf8427e,如果不事先告诉你,那你一辈子都别想得出它的输入信息是一个空白字符。
二、一些典型的应用。
对一段信息(message)产生信息摘要(message-digest),以防止被篡改。比如,在unix下有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5的文件,在这个文件中通常只有一行文本,大致结构如:
   md5 (tanajiya.tar.gz) = 0ca175b9c0f726a831d895e269332461
  这就是tanajiya.tar.gz文件的数字签名。md5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的md5信息摘要。如果在以后传播这个文件的过程中, 无论文件的内容发生了任何形式的改变(包括人为修改或者下载过程中线路不稳定引起的传输错误等),只要你对这个文件重新计算md5时就会发现信息摘要不相同,由此可以确定你得到的只是一个不正确的文件。  
防止抵赖。这需要有第三方权威机构的参与。A 写了个文件,权威机构对改文件用MD5算法产生摘要信息做好记录。若以后A说这文件不是我写的,权威机构只需对改文件重新产生摘要信息跟记录在册的摘要信息进行比对,相同的话,就证明是A写的了。这就是所谓的“数字签名”了。
        加密信息。比如在unix系统中用户的密码就是以md5(或其它类似的算法)经加密后存储在文件系统中。当用户登录的时候,系统把用户输入的密码计算成md5值,然后再去和保存在文件系统中的md5值进行比较,进而确定输入的密码是否正确。通过这样的步骤,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。这不但可以避免用户的密码被具有系统管理员权限的用户知道,而且还在一定程度上增加了密码被破解的难度。
分享到:
评论

相关推荐

    ASP mp5(Message Digest Algorithm)数据加密算法

    ASP mp5(Message Digest Algorithm)数据加密算法

    MD5算法研究Message-Digest Algorithm 5

    MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发出来,经MD2、MD3和MD4发展而来。它的作用是让大容量...

    The MD5 Message-Digest Algorithm (MD5算法英文介绍)

    The MD5 Message-Digest Algorithm Status of this Memo This memo provides information for the Internet community. It does not specify an Internet standard. Distribution of this memo is unlimited. ....

    rfc1321 The MD5 Message-Digest Algorithm.pdf

    rfc1321 The MD5 Message-Digest Algorithm. MD5算法 RFC官方指引

    MD5加密的相关资料

    MD5即Message-Digest Algorithm 5(信息-摘要算法 5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。  将数据(如汉字)运算为另一固定...

    MD5信息-摘要算法

    MD5的全称是Message-Digest Algorithm 5(信息-摘要算法)。Message-Digest泛指字节串(Message)的Hash变换,就是把一个任意长度的字节串变换成一定长的大整数。请注意我使用了"字节串"而不是"字符串"这个词,是因为...

    md5.js 前端MD5信息摘要算法

    MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特...

    RFC1321_MD5 信息-摘要算法.doc

    (RFC1321——The MD5 Message-Digest Algorithm) 本文地位 本文并非指定一个Internet标准,而是向互联网提供信息,本文可以任意传播,不受限制。 致谢 Don Coppersmith, Burt Kaliski, Ralph Merkle,David Chaum,...

    MD5CLASS信息-摘要算法

    MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),不论多长的信息,都产生128位的信息摘要。用于数字签名可以,不能直接用于加密数据。

    MD5 小写 C语言

    MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值...

    md5检测工具

    MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值...

    Java中4大基本加密算法解析

    简单的java加密算法有: BASE64 严格地说,属于编码格式,而非...MD5(Message Digest algorithm 5,信息摘要算法) SHA(Secure Hash Algorithm,安全散列算法) HMAC(Hash Message Authentication Code,散列消息鉴别码)

    des.rar_Http digest_MD5算法优化_digest des_串并变换C语言_大整数

    MD5的全称是Message-digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc,的Ronald L. Rivest开发出来,经MD2、MD3和MD4发展而来。它的作用是让大容量...

    md5加密算法 C语言(经过测试验证完整版)

    MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特...

    Java常见加密技术全景展示_附Java代码实现

    ● MD5(Message Digest algorithm 5,信息摘要算法) ● SHA(Secure Hash Algorithm,安全散列算法) ● HMAC(Hash Message Authentication Code,散列消息鉴别码) 复杂的对称加密(DES、PBE)、非对称加密算法: ...

    VB的md5加密算法(32位支持中文)

    所谓MD5,即“Message-Digest Algorithm 5(信息-摘要算法)”,它由MD2、MD3、MD4发展而来的一种单向函数算法(也就是HASH算法),它是国际著名的公钥加密算法标准RSA的第一设 计者R.Rivest于上个世纪90年代初开发...

    实例MD5加密算法VB源代码

    MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发出来,经MD2、MD3和MD4发展而来。它的作用是让大容量...

    jsp调用MD5加密

    MD5(Message-Digest Algorithm 5 信息摘要算法),是一种不可逆的加密算法,主要被应用于确保信息传输的完整一致性与系统登录认证这两方面。

    Md5加密算法的原理及应用.rar_md5 c++_支付加密

    Md5加密算法的原理及应用 --- Md5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由Mit Laboratory For Computer Science和Rsa Data Security Inc的Ronaldl.rivest开发出来,经md2、md3和md4发展...

    javascript----md5加密算法

    MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特...

Global site tag (gtag.js) - Google Analytics