常见加密算法

本文介绍了单向加密算法如MD5和SHA在数据完整性校验和数字签名中的应用,以及双向加密算法如AES和RSA在数据加密中的优势和适用场景。AES适合大量数据加密,RSA则提供更高的安全性,通常结合使用以确保密钥安全传输。

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

单向加密算法

在这里插入图片描述

单向散列加密算法常用于提取数据,验证数据的完整性,也可以用于密码加密传递存储。
单向加密算法只能用于对数据的加密,无法被解密,其特点为固定长度输出。

MD5

MD5严格意义上来说,不是编码也不是加密,而是摘要算法,也叫做哈希算法和散列算法,它的典型应用是:防止篡改和校验数据。
无论是多长的输入,MD5都会输出长度为128bits的一个串 (通常用16进制表示为32个字符)。需要注意的是:摘要算法是不可以逆的。通过加密后的数据是不能得到原始数据的。

SHA1

SHA1和MD5一样,也是摘要算法,但是SHA1的安全性更强,同时还有SHA256,SHA512等,区别就是长度不一样,越长越安全但是速度越来越慢。对于长度小于2 ^ 64 位的消息,SHA1会产生一个160位的消息摘要。基于MD5、SHA1的信息摘要特性以及不可逆(一般而言),可以被应用在检查文件完整性以及数字签名等场景。



双向加密算法

在这里插入图片描述

1.AES 加密算法(双向对称加密)

优点:加密解密都用同一把秘钥,算法是公开的,计算量较单一,加密速度快,加密效率高,适合需要加密大量数据的场景。
缺点:密钥的传输比较麻烦,容易泄露或者被破解。


2.RSA加密算法(双向非对称加密)
RSA算法基于的数论事实
如果将两个大素数相乘,则乘积计算十分容易;但是如果对这个乘积进行质因式分解,却非常困难!

优点:秘钥分为公钥和私钥,公钥公开传递,而私钥只保存在接收方,安全性更高
缺点:加密解密时间花费较长,速度慢,适合对少量重要数据通信的场景。


实际使用中,一般是通过RSA加密AES的密钥,传输到接收方,接收方解密得到AES密钥,然后发送方和接收方用AES密钥来通信。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值