常见加密算法

本文最后更新于: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哈希运算消息认证码。以一个密钥和一个消息为输入,生成一个消息摘要作为输出

参考链接

Python中几种加密算法的实现 - 就爱读 (jiuaidu.com)


常见加密算法
http://timegogo.top/2023/04/13/前端工程化/安全:常见加密算法/
作者
丘智聪
发布于
2023年4月13日
更新于
2023年7月16日
许可协议