加密算法和MD5等散列算法的区别

本文探讨了MD5等散列算法与加密算法之间的主要区别,指出MD5主要用于验证数据完整性而非传统意义上的加密。加密算法则确保数据传输过程中的安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

     要弄懂这两类算法的区别,最本质的方式就是把这两类算法的步骤搞懂,但这需要大量的时间。通过两类算法的表现可以对他们的区别有个大体的了解:
     1.MD5算法除了注册时对用户密码进行MD5运算以外,还常用于验证下载的软件的完整性(linux下面md5sum命令可以支持这一典型应用),常用电驴等下载视频和软件的用户应该知道这一点。MD5运算后的长度是固定的,它显然不可能包含视频、软件等源数据的全部信息。对于加密算法来说,加密后的密文是包含原始数据所有信息的,只是不能被直接读懂变的安全了。
     2.加密算法是一种通信体系,经常用于分布式系统。它的目标是数据经过传输后只能被特定的有密钥的人读懂,包含加密算法和密钥2个要素。而MD5等散列算法却不包含运算后的数据只能被特定人读懂的目标,它只让机器读懂。当用于加密时,它加密后的数据对所有人一视同仁,且没有密钥机制,没有好的方法从加密后的数据得到原始数据,从而保证数据的安全。它并不是通信机制,它是不可逆的。另外它的验证数据完整性的功能上面已经提到,我想,很多有心人最初正是从这一点意识到这两类算法的区别把?

     典型应用:这里再加一个加密算法的典型应用就可以了,例如所有涉及到IC卡的系统,银行卡、公交卡、市民卡等等。在数字签名技术中,同时使用到散列算法和加密算法,见阮一峰的《数字签名是什么?》。
     共同点:都属于计算机安全的范畴,都是为了保证数据安全。

转载于:https://www.cnblogs.com/eternalwt/archive/2013/03/21/2973807.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值