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字节。
- 分享
- 举报
暂无数据-
浏览量:3497次2022-05-06 06:00:40
-
浏览量:3594次2022-01-21 09:00:15
-
浏览量:5127次2021-06-16 15:20:30
-
浏览量:3410次2020-12-29 11:41:31
-
浏览量:4227次2022-10-20 10:38:11
-
浏览量:5206次2017-12-13 10:46:52
-
浏览量:4789次2022-10-14 14:18:43
-
浏览量:12846次2020-12-15 19:07:24
-
浏览量:2219次2020-03-19 17:38:49
-
浏览量:2610次2022-07-09 08:47:55
-
浏览量:14683次2021-07-05 09:47:30
-
浏览量:2180次2018-02-05 00:29:41
-
浏览量:2449次2023-11-13 17:48:03
-
浏览量:4870次2021-08-17 16:28:57
-
浏览量:5320次2021-06-29 12:05:47
-
浏览量:4809次2020-08-30 12:27:19
-
浏览量:15744次2020-12-03 22:52:27
-
浏览量:2465次2018-07-21 14:14:40
-
浏览量:2050次2020-01-02 10:02:34
-
79篇
- 海思媒体处理平台VI视频输入模块
- 最近在看海思SDK中关于imx274_sensor_ctl.c代码中,如何快速初始化数组为同一值
- “芯系物联,智能无限”诚邀您莅临北京君正“芯”时代策略发布会
- 海思SS626 编译整个SDK全过程以及问题汇总
- 海思3518E mpp架构及sample程序流程分析
- Hi3519DV500海思原厂SDK编译
- 贴心强大 果果壳GEAK Watch Ⅱ Pro售价2399元!
- 【寒假大作战】2——渐入佳境(Hongou PI PICO开发环境的搭建)
- VK1625/VK1626 LCD液晶显示驱动芯片(IC)-可用于汽车液晶屏/仪器仪表面板驱动等
- 海思3516A开发板调试整理(一)
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
Tracy_9216
微信支付举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明

微信扫码分享
QQ好友