1、对称加密:
加密和解密使用同一个密钥的加密方式
2、对称加密的优点:
加密计算量小、速度块,适合对大量数据进行加密的场景
3、AES加密算法
(1)Advanced Encryption Standard,高级加密标准
(2)替代之前的DES加密算法
4、AES采用分组密码体制
每个分组数据的长度为128位16个字节
密钥长度可以是128位16个字节、192位24字节 或256位32字节
通常采用128位16个字节初始向量IV的CBC模式
五个关键词
1、分组密码体制
AES加密会首先把明文切成一段一段的,而且每段数据的长度要求必须是128位16个字节,如果最后一段不够16个字节了,就需要用Padding来把这段数据填满16个字节,然后分别对每段数据进行加密,最后再把每段加密数据拼起来形成最终的密文。
2、Padding
Padding就是用来把不满16个字节的分组数据填满16个字节用的
(1)PKCS5
(2)PKCS7
(3)NoPadding
我们开发通常采用PKCS7 Padding模式。
3、密钥
AES要求密钥的长度可以是128位16个字节、192位或者256位
通常采用128位16个字节的密钥
4、初始向量IV
定为128位16个字节,初始向量的来源为随机生成
5、四种加密模式
(1)ECB(电子密码本模式)
(2)CBC(密码分组链接模式)需要参数iv
(3)CFB
(4)OFB
我们一般使用的是CBC模式
注意:
服务端和我们客户端必须使用一样的:
密钥、初始向量IV、加密模式、Padding模式