常用加密算法概述(RSA、SHA-1、SHA-256、国密算法、对称加密、非对称加密)
一、加密算法概述
加密是前后端开发经常需要使用到的技术,应用场景包括不限于用户登入、数据交易、信息通讯等,不同的应用场景也会需要使用到不同的签名加密算法,或者需要搭配不一样的 签名加密算法来达到业务目标。一般来说加密算法有摘要算法、对称加密算法、非对称加密算法这三种类型,常见的加密算法及分类如下表:
密码分类 | 国产商用密码 | 国际商用密码 |
摘要算法 | SM3 | MD5、SHA-1、SHA-2、MAC |
对称加密算法 | SM1、SM4、SM7、ZUC(祖冲之算法)、SSF446 | DES、3DES、AES、RC5、RC6、RC4 |
非对称加密算法 | SM2、SM9 | RSA、Rabin、DH、DSA、ECC |
加密相关概念:
- 明文:明文指的是未被加密过的原始数据。
- 密文:明文被某种加密算法加密之后,会变成密文,从而确保原始数据的安全。密文也可以被解密,得到原始的明文。
- 密钥:密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。密钥分为对称密钥与非对称密钥,分别应用在对称加密和非对称加密上。
二、加密算法介绍
2.1 摘要算法
摘要算法又称哈希算法、散列算法。(严格意义上摘要算法不算是加密算法,但通常与加密算法一起使用并有一定相似性,所以这里拿来做比较)。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。消息摘要算法的主要特征是加密过程不需要密钥,并且经过加密的数据无法被解密,只有输入相同的明文数据经过相同的消息摘要算法才能得到相同的密文。
特点:
1.加密不需要密钥
2.不可逆
3.任意长度转为固定长度
常见算法:
国产:SM3、MD5
国际:SHA-1、MAC、SHA-2(SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256)
应用场景:存储密码、校验文件完整性、生成签名
流程图:
2.2 对称加密算法
对称加密,顾名思义,加密方与解密方使用同一钥匙(秘钥)。具体一些就是,发送方通过使用相应的加密算法和秘钥,对将要发送的信息进行加密;对于接收方而言,使用解密算法和相同的秘钥解锁信息,从而有能力阅读信息。
特点:
1.加解密使用同一个密钥
2.可逆
3.加密速度比非对称加密算法快
常见算法:
国产:SM1、SM4、SM7、ZUC(祖冲之算法)、SSF446
国际:DES、3DES、AES、RC5、RC6、RC4
应用场景:加密传输、密码、配置文件加密
流程图:
2.3 非对称加密算法
非对称加密需要两个密钥:公钥 (publickey) 和私钥 (privatekey)。公钥和私钥是一对,如果用公钥对数据加密,那么只能用对应的私钥解密。如果用私钥对数据加密,只能用对应的公钥进行解密。因为加密和解密用的是不同的密钥,所以称为非对称加密。
特点:
1.一对密钥
2.公钥加密私钥解密,私钥加签公钥验签
常见算法:
国产:SM2、SM9
国际:RSA、Rabin、DH、DSA、ECC
应用场景:数字签名、数字证书
流程图:

本文作者:MuXinu
本文链接:https://www.cnblogs.com/MuXinu/p/17193726.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~