zoukankan      html  css  js  c++  java
  • MD5

    一:MD5  

    Message Digest Algorithm  中文意思为消息摘要算法第五版。为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。

    MD5简单的理解就是数据采样后精简计算出长度固定的特征码,在一定程度上可以被用来快速判断文件是否完整或经过修改。

    MD5算法具有以下特点:
    1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。
    2、容易计算:从原数据计算出MD5值很容易。
    3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
    4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。
    MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。除了MD5以外,其中比较有名的还有sha-1RIPEMD以及Haval等。
     
     
    二:
    1.MD5是不可逆的,不能从md5值转换成元数据,(网上有很多md5转换的网站,这样的网站是将简单的元数据和md5穷尽 然后记录下来)。网上的破解,个人觉得是字典比对,有一个数据库,存储了很多k-v.当这个数据库的数据达到一定量级的时候,很多密码其实包含在里面了,直接找到就行了。
    2.存在无数个字符串的MD5值相同。原因是:所有字符串集合A的Size是无穷的,所有MD5的集合B的Size是2^128(因为MD5是128位的),从一个无限集合A映射到有限集合B,那必然存在A的一个无穷子集A1,使得A1的所有元素(字符串)在B中映射到同一个元素,即存在无穷多个字符串,它们的MD5值相同。
     
    三:
     
     
  • 相关阅读:
    【书上讲解】平面上最近点对问题
    【书上讲解】快速排序
    【书上讲解】归并排序的非递归写法
    【例题 2-6】汉诺塔问题
    汉诺塔问题详解
    【例题2-5】整数的划分
    【例题2-4】排列问题
    【1-5】最大间隙问题
    【1-4】金币阵列问题
    【1-2】字典序问题
  • 原文地址:https://www.cnblogs.com/MzwCat/p/8546761.html
Copyright © 2011-2022 走看看