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字节。
- 分享
- 举报
-
浏览量:3000次2022-01-21 09:00:15
-
浏览量:3063次2022-05-06 06:00:40
-
浏览量:4645次2021-06-16 15:20:30
-
浏览量:2917次2020-12-29 11:41:31
-
浏览量:3291次2022-10-20 10:38:11
-
浏览量:3791次2022-10-14 14:18:43
-
浏览量:1956次2020-03-19 17:38:49
-
浏览量:4521次2017-12-13 10:46:52
-
浏览量:1789次2018-02-05 00:29:41
-
浏览量:12084次2020-12-15 19:07:24
-
浏览量:4039次2020-08-30 12:27:19
-
浏览量:2223次2022-07-09 08:47:55
-
浏览量:1709次2020-01-02 10:02:34
-
浏览量:2139次2018-07-21 14:14:40
-
浏览量:12762次2021-07-05 09:47:30
-
浏览量:2042次2018-06-13 16:36:22
-
浏览量:4580次2021-08-17 16:28:57
-
浏览量:1193次2023-11-13 17:48:03
-
浏览量:4789次2021-06-29 12:05:47
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
Tracy_9216
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明