zoukankan      html  css  js  c++  java
  • 加密算法和MD5等散列算法的区别(转)

    本文转自http://www.cnblogs.com/eternalwt/archive/2013/03/21/2973807.html 感谢作者 

    1.在软件开发的用户注册功能中常出现MD5加密这个概念,这个概念有一定的误导性。严格来说:MD5还有sha-1、 RIPEMD以及Haval等不能算是加密算法(虽然常用于把密码变成“密文”),他们只是散列算法,或者叫摘要算法。加密对应解密这个概念,加密算法包括:DES、3DES、IDEA、 RSA、AES等。

    2.MD5还有sha-1、 RIPEMD以及Haval等不能算是加密算法,只是散列算法,或者叫摘要算法。

    2.MD5还有sha-1、 RIPEMD以及Haval等不能算是加密算法,只是散列算法,或者叫摘要算法。

    2.MD5还有sha-1、 RIPEMD以及Haval等不能算是加密算法,只是散列算法,或者叫摘要算法。

    3.加密对应解密这个概念,加密算法包括:DES、3DES、IDEA、 RSA、AES等。

    3.加密对应解密这个概念,加密算法包括:DES、3DES、IDEA、 RSA、AES等。

    3.加密对应解密这个概念,加密算法包括:DES、3DES、IDEA、 RSA、AES等。

    4.MD5算法除了注册时对用户密码进行MD5运算以外,还常用于验证下载的软件的完整性

    5.MD5算法除了注册时对用户密码进行MD5运算以外,还常用于验证下载的软件的完整性

    6.MD5运算后的长度是固定的,它显然不可能包含视频、软件等源数据的全部信息。对于加密算法来说,加密后的密文是包含原始数据所有信息的,只是不能被直接读懂变的安全了。

    7.MD5运算后的长度是固定的,它显然不可能包含视频、软件等源数据的全部信息。对于加密算法来说,加密后的密文是包含原始数据所有信息的,只是不能被直接读懂变的安全了。

    4.要弄懂这两类算法的区别,最本质的方式就是把这两类算法的步骤搞懂,但这需要大量的时间。通过两类算法的表现可以对他们的区别有个大体的了解:
         1.MD5算法除了注册时对用户密码进行MD5运算以外,还常用于验证下载的软件的完整性(linux下面md5sum命令可以支持这一典型应用),常用电驴等下载视频和软件的用户应该知道这一点。

    MD5运算后的长度是固定的,它显然不可能包含视频、软件等源数据的全部信息。对于加密算法来说,加密后的密文是包含原始数据所有信息的,只是不能被直接读懂变的安全了。

    MD5运算后的长度是固定的,它显然不可能包含视频、软件等源数据的全部信息。对于加密算法来说,加密后的密文是包含原始数据所有信息的,只是不能被直接读懂变的安全了。

    6. 2.加密算法是一种通信体系,经常用于分布式系统。它的目标是数据经过传输后只能被特定的有密钥的人读懂,包含加密算法和密钥2个要素。而MD5等散列算法却不包含运算后的数据只能被特定人读懂的目标,它只让机器读懂。当用于加密时,它加密后的数据对所有人一视同仁,且没有密钥机制,没有好的方法从加密后的数据得到原始数据,从而保证数据的安全。它并不是通信机制,它是不可逆的。另外它的验证数据完整性的功能上面已经提到,我想,很多有心人最初正是从这一点意识到这两类算法的区别把?

    7. 2.加密算法是一种通信体系,经常用于分布式系统。它的目标是数据经过传输后只能被特定的有密钥的人读懂,包含加密算法和密钥2个要素。而MD5等散列算法却不包含运算后的数据只能被特定人读懂的目标,它只让机器读懂。当用于加密时,它加密后的数据对所有人一视同仁,且没有密钥机制,没有好的方法从加密后的数据得到原始数据,从而保证数据的安全。它并不是通信机制,它是不可逆的。另外它的验证数据完整性的功能上面已经提到,我想,很多有心人最初正是从这一点意识到这两类算法的区别把?

    8.很多编程人员为了将“密码”不明示,就对密码串进行md5散列,在数据库或文件中保存md5编码;但是,千万要注意,真正到了鉴别用户身份是否合法的时候,不是通过早先记录下来的md5编码生成原文再与用户当场输入的密码串进行比较,而是将用户当场输入的密码串也实施md5变换,比较的是前后两次生成的md5编码串。

    希望这个科学常识对大家有用,不要再试图从md5编码揣测原文了


    8.很多编程人员为了将“密码”不明示,就对密码串进行md5散列,在数据库或文件中保存md5编码;但是,千万要注意,真正到了鉴别用户身份是否合法的时候,不是通过早先记录下来的md5编码生成原文再与用户当场输入的密码串进行比较,而是将用户当场输入的密码串也实施md5变换,比较的是前后两次生成的md5编码串。

    希望这个科学常识对大家有用,不要再试图从md5编码揣测原文了
     
  • 相关阅读:
    Python --- Python的简介
    Python---subline的安装与设置
    算法进阶指南(DFS和BFS)--- 小猫爬山
    算法进阶指南(递归)--- 递归实现排列型枚举
    算法进阶指南(递归)--- 递归实现组合型枚举
    算法进阶指南(递归)--- 递归实现指数型枚举
    linux命令行调试邮件服务器
    01_8_session
    01_7_cookies
    03_9_继承中的构造方法
  • 原文地址:https://www.cnblogs.com/panxuejun/p/7715421.html
Copyright © 2011-2022 走看看