常见加密算法
本文最后更新于:8 个月前
对称加密、非对称加密、单向加密
常见加密算法
一、对称加密
特点:使用一个密码,同时用于加密解密,加解密计算快,但安全性较低
使用场景:HTTPS协议中,用来加密传输主要内容
加密算法 | 描述 |
---|---|
DES | Data Encryption Standard(数据加密标准)。分组式加密算法,以64位为分组对数据加密 |
3DES | 三重数据加密算法,对每个数据块应用三次DES加密算法 |
AES | Advanced Encryption Standard(高级加密标准)。用于替代原先的DES,目前已被广泛应用 |
二、非对称加密
特点:拥有两个密钥:公钥和私钥。一个用来加密、一个用来解密
用途:
- 用途一:加密数据,“只有我能读”。向外公布密钥,外界用公钥加密,只有用我的私钥才能解密。
- 用途二:数字签名,”只有我能写“。向外公布密钥,我用私钥加密数据,外界用公钥解密(只能解开我加密的数据)
加密算法 | 描述 |
---|---|
RSA | Rivest-Shamir-Adleman。基于一个数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难。可用于加密和签名 |
DSA | Digital Signature Algorithm数字签名算法,仅能用于签名,不能用于加解密 |
ECC | Elliptic Curves Cryptography(椭圆曲线加密)。利用有限域上椭圆曲线的点构成的Abel群离散对数难解性,实现加密、解密和数字签名 |
三、单向加密
散列算法,或者叫哈希算法,又或者叫摘要算法。
特点:定长输出、雪崩效应(少量消息位的变化会引起信息摘要的许多位变化)
主要用途:验证数据的完整性、数字摘要
使用场景:保存用户密码、HTTPS协议中对传输数据作为摘要算法
散列算法 | 描述 |
---|---|
MD5 | Message-Digest消息摘要算法,不可逆的加密算法,尚没有能够逆运算的程序被开发出来,它对应任何字符串都可以加密成一段唯一的固定长度的代码。 |
SHA1 | Secure Hash Algorithm安全哈希算法,基于MD5。对长度小于264的输入,产生长度为160bit的散列值 |
HMAC | Hash-based Message Authentication Code哈希运算消息认证码。以一个密钥和一个消息为输入,生成一个消息摘要作为输出 |
参考链接
常见加密算法
http://timegogo.top/2023/04/13/前端工程化/安全:常见加密算法/