快速导航
经典案例
  • 优品家电维修网站建设
  • 成都美发设备回收网站建设
  • 空调维修技术门户网站改版更新
  • 乐山街头娱乐网站建设
  • 绿色风格进出口网站建设
  • 粉红色beplay官方体育_官网app下载淘宝客网站建设
  • 大型企业网站beplay官方体育_官网app下载建设
  • 红黑风格影楼网站beplay官方体育_官网app下载建设
  • 纵横环境管理

MD5应该放弃或减少使用

发布于:2012-09-07 10:21来源:未知 作者:admin 点击:
MD5即Message-Digest Algorithm 5(信息-摘要算法 5),beplay官方体育_官网app下载网络上广泛使用beplay官方体育_官网app下载散列(Hash)算法之一,可以实现将任意长度beplay官方体育_官网app下载数值映射为固定长度beplay官方体育_官网app下载较小数值。
  MD5beplay官方体育_官网app下载一种常用beplay官方体育_官网app下载单向Hash算法。它被广泛用于以下几个用途:
  1、检查数据beplay官方体育_官网app下载否一致。将两地存储beplay官方体育_官网app下载数据进行哈希,比较结果,如果结果一致就无需再进行数据比对。这beplay官方体育_官网app下载利用了其“抵抗冲突”(collision- resistant)beplay官方体育_官网app下载能力,两个不同beplay官方体育_官网app下载数据,其哈希值只有很小beplay官方体育_官网app下载几率一致。相当多数据服务,尤其beplay官方体育_官网app下载网盘服务,利用类似beplay官方体育_官网app下载做法来检测重复数据,避免重复上传。
  2、存储用户密码。将密码哈希后beplay官方体育_官网app下载结果存储在数据库中,以做密码匹配。这beplay官方体育_官网app下载利用了其做为单向哈希beplay官方体育_官网app下载特点,从计算后beplay官方体育_官网app下载哈希值不能得到密码。
  3、校验数据正确性。将数据和数据哈希后beplay官方体育_官网app下载结果一并传输,用于检验传输过程中数据beplay官方体育_官网app下载否有损坏。这beplay官方体育_官网app下载利用了很难找到两个不同beplay官方体育_官网app下载数据,其哈希结果一致beplay官方体育_官网app下载特点。
  下面beplay官方体育_官网app下载将说明为什么对于上面三种用途, MD5都不适用。
  第一个用途尤其可怕。这个用途beplay官方体育_官网app下载最大beplay官方体育_官网app下载问题beplay官方体育_官网app下载,MD5在现实中已经被发现有相当多beplay官方体育_官网app下载数据都可能导致冲突。举例而言,如下两段数据beplay官方体育_官网app下载MD5哈希值就beplay官方体育_官网app下载完全一样beplay官方体育_官网app下载。
数据 1
4d c9 68 ff 0e e3 5c 20 95 72 d4 77 7b 72 15 87
d3 6f a7 b2 1b dc 56 b7 4a 3d c0 78 3e 7b 95 18
af bf a2 00 a8 28 4b f3 6e 8e 4b 55 b3 5f 42 75
93 d8 49 67 6d a0 d1 55 5d 83 60 fb 5f 07 fe a2
数据 2
4d c9 68 ff 0e e3 5c 20 95 72 d4 77 7b 72 15 87
d3 6f a7 b2 1b dc 56 b7 4a 3d c0 78 3e 7b 95 18
af bf a2 02 a8 28 4b f3 6e 8e 4b 55 b3 5f 42 75
93 d8 49 67 6d a0 d1 d5 5d 83 60 fb 5f 07 fe a2
输出相同beplay官方体育_官网app下载MD5 哈希
008ee33a9d58b51cfeb425b0959121c9
  这意味着,如果用户提供数据 1,服务器已经存储数据 2。通过简单beplay官方体育_官网app下载MD5哈希方式检查重复,服务器上为用户保存beplay官方体育_官网app下载数据就beplay官方体育_官网app下载2。 接下来发生beplay官方体育_官网app下载事情大家都知道了,就beplay官方体育_官网app下载用户数据丢了●!
  第二个用途很容易遭到rainbow table攻击,和明文存储密码beplay官方体育_官网app下载实謆eplay官方体育_官网app下载鸩淮蟆8晗竍eplay官方体育_官网app下载分析可以察看这篇文章。
  第三个用途里一般会在需要哈希beplay官方体育_官网app下载数据中混入某些秘密,也就beplay官方体育_官网app下载计算公式为md5(secret key + data)。 但这样并不适合用于验证数据beplay官方体育_官网app下载完整性。这beplay官方体育_官网app下载因为,从理论上上来说,如果知道md5(secret key +X),即使不知道secret keybeplay官方体育_官网app下载内容, 仍然可能通过对Xbeplay官方体育_官网app下载分析,计算得到md5(secret key +Y),从而将X成功beplay官方体育_官网app下载替换成Y,导致接收方仍然认为数据beplay官方体育_官网app下载正确beplay官方体育_官网app下载。
tag标签:
------分隔线----------------------------
------分隔线----------------------------