当前位置:  编程语言>c/c++

MD5介绍及举例

 
    发布时间:2013-9-10  


    本文导语:  MD5即Message-Digest Algorithm 5(消息摘要算法第五版)的简称,是当前计算机领域用于确保信息传输完整一致而广泛使用的散列算法之一(又译哈希算法、摘要算法等),主流编程语言普遍已有MD5的实现。将数据(如一段文字...

  md5message-digest algorithm 5(消息摘要算法第五版)的简称,是当前计算机领域用于确保信息传输完整一致而广泛使用的散列算法之一(又译哈希算法、摘要算法等),主流编程语言普遍已有md5的实现。

数据(如一段文字)运算变为另一固定长度值,是散列算法的基础原理,MD5的前身有MD2、MD3和MD4。

   MD5的实际linux iis7站长之家是对一段Message(字节串)产生fingerprint(指纹),可以防止被“篡改”。MD5广泛用于加密解密技术上,在很多操作系统中,用户的密码是以MD5值(或类似的其它算法)的方式保存的,用户Login的时候,系统是把用户输入的密码计算成MD5值,然后再去和系统中保存的MD5值进行比较,来验证该用户的合法性。

 MD5特性:

 (1)不可逆性

这个特征码有如下特性,首先它不可逆,例如我有一段秘密的文字如:"My Secret Words",经算法变换后得到MD5码(b9944e9367d2e40dd1f0c4040d4daaf7),把这个码告诉其他人,他们根据这个MD5码是没有系统方法可以知道你原来的文字是什么的。

 (2)离散性

其次,这个码具有高度的离散性,也就是说,原信息的一点点变化就会导致MD5的巨大变化,例如"ABC" MD5(902fbdd2b1df0c4f70b4a5d23525e932)和"ABC "(多了一空格)MD5(12c774468f981a9487c30773d8093561)差别非常大,而且之间没有任何关系,也就是说产生的MD5码是不可预测的。

 (3)码位性

最后由于这个码有128位那么长,所以任意信息之间具有相同MD5码的可能性非常之低,通常被认为是不可能的。

 md5实例:

  一般128位的MD5散列被表示为32位十六进制数字。以下是一个43位长的仅ASCII字母列的MD5散列:

MD5("The quick brown fox jumps over the lazy dog")= 9e107d9d372bb6826bd81d3542a419d6

即使在原文中作一个小变化(比如用c取代d)其散列也会发生巨大的变化:

MD5("The quick brown fox jumps over the lazy cog")= 1055d3e698d289f2af8663725127bd4b

空文的散列为:

MD5("")= d41d8cd98f00b204e9800998ecf8427e


    您可能感兴趣的文章:

  • 本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载,整理或搜集自网络.欢迎任何形式的转载,转载请注明出处.
    转载请注明:文章转载自:[169IT-IT技术资讯]
    本文标题:MD5介绍及举例
相关文章推荐:
  • Linux下c基于openssl生成MD5的函数
  • 如何使用MD5_Init、MD5_Update、MD5_Final函数?
  • c语言实现MD5算法完整代码示例
  • MD5校验工具 md5deep
  • c++实现MD5算法代码示例
  • 在unix系统(freebsd)下面用md5加密中文,和win2000下用md5加密后的结果是否一样?
  • MD5算法的C语言实现
  • 如何在Linux内核中调用MD5算法计算文件的MD5值?
  • md5编程问题
  • Linux 查看MD5加密的文件内容
  • 关于md5sum命令的问题
  • MD5问题
  • 我下载的RED HAT 8。0时有一个名为md5sum的文件,和三个ISO文件,我刻ISO好后,安装总提示光盘上没有REDHAT安装文件,不知是不是与此md5s
  • C#生成MD5的函数代码
  • mysql与mssql的md5加密语句
  • 请问linux中,有没有现成的md5算法可以使用?
  • c#实现md5加密示例
  • c# MD5加密的代码(简单示例,仅供学习参考)
  • 计算字符串和文件MD5值的小例子
  • md5 文件在windows 下能用什么软件打开它
  • md5-password-cracker.js


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3