分享

md5检验方式有什么缺点?

 全性保真 2018-06-07

这个MD5即Message-Digest Algorithm 5(信息-摘要算法 5)的,这个是网络上广泛使用的散列(Hash)算法之一,就可以实现将任意长度的数值映射为固定长度的较小数值的。

这个MD5是一种常用的单向的Hash算法的的。它被广泛用于以下几个用途的:

1.检查数据是否一致:

比如相当多数据服务的,尤其是网盘服务,就是利用类似的做法来检测重复数据的,避免重复上传的。

2.存储用户密码:

这个将密码哈希后的结果存储在数据库中的的,以做密码匹配的。这是利用了其做为单向哈希的特点的,的从计算后的哈希值不能得到密码的。

3.校验数据正确性的:

这个将数据和数据哈希后的结果一并传输的,用于检验传输过程中数据是否有损坏的的。

那下面我们将说明为什么对于上面三种用途, MD5都不适用的了,也就是缺点:

这个第一个用途尤其可怕。这个用途的最大的问题的是,这个MD5在现实中已经被发现有相当多的数据都可能导致冲突的,真的!。

比如下两段数据的MD5哈希值就是完全一样的的:

这个第二个用途很容易遭到rainbow table攻击的的,那就和和明文存储密码的实质区别不大的的。

还有第三个用途里一般会在需要哈希的数据中混入某些秘密的的,也就是计算公式为md5(secret key + data)的。 但是这样并不适合用于验证数据的完整性的的。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多