Lazy loaded image
技术分享
🗒️常用加密算法概述(RSA、SHA-1、SHA-256、国密算法、对称加密、非对称加密) 
字数 971阅读时长 3 分钟
2025-1-3
2025-1-3
type
status
date
slug
summary
tags
category
icon
password

一、加密算法概述

加密是前后端开发经常需要使用到的技术,应用场景包括不限于用户登入、数据交易、信息通讯等,不同的应用场景也会需要使用到不同的签名加密算法,或者需要搭配不一样的 签名加密算法来达到业务目标。一般来说加密算法有摘要算法、对称加密算法、非对称加密算法这三种类型,常见的加密算法及分类如下表:
密码分类
国产商用密码
国际商用密码
摘要算法
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)
应用场景:存储密码、校验文件完整性、生成签名
流程图
notion image

2.2 对称加密算法

对称加密,顾名思义,加密方与解密方使用同一钥匙(秘钥)。具体一些就是,发送方通过使用相应的加密算法和秘钥,对将要发送的信息进行加密;对于接收方而言,使用解密算法和相同的秘钥解锁信息,从而有能力阅读信息。
特点
1.加解密使用同一个密钥
2.可逆
3.加密速度比非对称加密算法快
常见算法
国产:SM1、SM4、SM7、ZUC(祖冲之算法)、SSF446
国际:DES、3DES、AES、RC5、RC6、RC4
应用场景:加密传输、密码、配置文件加密
流程图
notion image

2.3 非对称加密算法

非对称加密需要两个密钥:公钥 (publickey) 和私钥 (privatekey)。公钥和私钥是一对,如果用公钥对数据加密,那么只能用对应的私钥解密。如果用私钥对数据加密,只能用对应的公钥进行解密。因为加密和解密用的是不同的密钥,所以称为非对称加密。
特点
1.一对密钥
2.公钥加密私钥解密,私钥加签公钥验签
常见算法
国产:SM2、SM9
国际:RSA、Rabin、DH、DSA、ECC
应用场景:数字签名、数字证书
流程图
notion image
上一篇
Mac版 office 2021 下载安装教程
下一篇
基于golang开发的基线检查脚本SSH版本v2(附一键化脚本)