文章目录
什么是对称加密算法?
-
- 对称加密算法是加密/解密可逆的算法。
-
- 其加密和解密使用相同的密钥。
-
- 对输入数据无长度要求,加密速度快。
-
- 密钥可随机生成,但有位数要求(一般定义为key)。
-
- 不同算法的密钥长度:
AES
:16、24、32字节(对应AES - 128、AES - 192、AES - 256)DES
:8字节3DES
:24字节RC4
:1 - 256字节(位数)SM4
:16字节
-
- 对称加密分类:
- 分组加密:将明文分组后逐组加密,如AES、DES、3DES、SM4 。
- 序列加密/流加密:以字节流方式依次加密(解密)每个字节,如RC4。
- 对称加密分类:
-
- 加密模式的作用是规定加密时不同分组之间的处理方式。CryptoJS中提供的加密模式有ECB、CBC、CFB、OFB、CTR、GCM。
-
- 填充方式。CryptoJS中提供的填充方式包括NoPadding、ZeroPadding、Pkcs7(Pkcs5)、Iso10126、Iso97971、AnsiX923 :
- 当明文长度不足一个分组时,需填充到一个分组长度。
- 当明文长度恰好为一个分组时,需再填充一个分组长度。填充方式明确了数据填充的具体规则。