AES加密讲解
很多项目当中,由于数据的保密性,是不能使用透传的,大部分会把数据加密之后用密文进行数据传输,然后接收方对密文进行解密后,对数据进行解析,AES加密就是常用的加密方式。
我也是第一次使用AES加密方式进行数据通讯,这些加密方式大部分在网上都可以找到一些写好的库去直接使用,AES加密也一样,但是这些库并不是所有的都可以用,而且如果对AES加密不太了解的话,可能有不少接口也看不太懂,下面我给大家总结一下。
AES加密的模式有五种,分别是CBC、EBC、CTR、OCF、CFB,其中CBC和EBC是最常用的,这里就重点说下这两种模式:EBC模式是将整个明文分成若干段相同的小段,然后对每一小段进行加密,而CBC模式是先将明文切分成若干小段,然后每一小段与初始块或者上一段的密文段进行异或运算后,再与密钥进行加密。所以CBC模式的加密更加复杂,当然也就更不容易被解密。
AES加密的加密位数分为128位和256位,这其实就是加密秘钥的位数,128位的AES加密,秘钥就为16个字节,256位的秘钥位32个字节。
最后AES加密需要给数据做填充,待加密数据必须16个字节对齐,不足16个字节的需要做数据填充,填充方式主要为PKCS7Padding/PKCS5Padding/ZeroPadding三种。
ZeroPadding填充方式为数据长度不对齐时使用0填充,否则不填充。
PKCS7Padding填充方式为如果数据长度需要填充n个字节才对齐,那么填充n个字节,每个字节都是n;如果数据本身就已经对齐了,则填充一块长度为块大小的数据,每个字节都是块大小,这里的块大小不是16就是32,取决于使用的加密秘钥位数。
PKCS5Padding和PKCS7Padding比较像,只不过块大小固定为8字节。
- 分享
- 举报
-
浏览量:3028次2022-01-21 09:00:15
-
浏览量:3092次2022-05-06 06:00:40
-
浏览量:4675次2021-06-16 15:20:30
-
浏览量:2928次2020-12-29 11:41:31
-
浏览量:3328次2022-10-20 10:38:11
-
浏览量:3832次2022-10-14 14:18:43
-
浏览量:4553次2017-12-13 10:46:52
-
浏览量:1972次2020-03-19 17:38:49
-
浏览量:12112次2020-12-15 19:07:24
-
浏览量:2244次2022-07-09 08:47:55
-
浏览量:1816次2018-02-05 00:29:41
-
浏览量:12910次2021-07-05 09:47:30
-
浏览量:4078次2020-08-30 12:27:19
-
浏览量:4627次2021-08-17 16:28:57
-
浏览量:4838次2021-06-29 12:05:47
-
浏览量:1266次2023-11-13 17:48:03
-
浏览量:1721次2020-01-02 10:02:34
-
浏览量:14569次2020-12-03 22:52:27
-
浏览量:2168次2018-07-21 14:14:40
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
Tracy_9216
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明