AES加密与解密的padding问题

简介:

首先说一下,在AES加密与解密的过程中如果需要加密的数据不是16的倍数的时候,需要对原来的数据做padding操作。

padding分为以下几种,不同的padding对加密与解密有影响,所以要保证padding的方式是一致的。

1、ANSI X.923

在ANSI X.923的方式下,先是填充00,最后一个字节填充padded的字节个数。

例子: | DD DD DD DD DD DD DD DD | DD DD DD 00 00 00 00 05 |

2、ISO 10126

在ISO 10126的方式下,先是填充随机值,最后一个字节填充padded的字节个数。

例子: | DD DD DD DD DD DD DD DD | DD DD DD 95 81 28 A7 05 |

3、PKCS7

在PKCS7的方式下,如果一共需要padded多少个字节,所有填充的地方都填充这个值。

例子: | DD DD DD DD DD DD DD DD | DD DD DD 05 05 05 05 05 |

4、ISO/IEC 7816-4

在ISO/IEC 7816-4方式下,第一个填充的字节是80,后面的都填充00。

例子: | DD DD DD DD DD DD DD DD | DD DD DD 80 00 00 00 00 |

5、Zero padding

在Zero padding方式下,每一个需要填充的字节都填00。

例子: | DD DD DD DD DD DD DD DD | DD DD DD 00 00 00 00 00 |


相关文章
|
29天前
|
Linux 数据安全/隐私保护 Windows
aes加密在linux下会生成随机key的解决办法
aes加密在linux下会生成随机key的解决办法
23 2
|
29天前
|
PHP 数据安全/隐私保护
在PHP中使用AES进行加密和解密
在PHP中使用AES进行加密和解密
|
29天前
|
存储 算法 安全
【加密算法】AES对称加密算法简介
【加密算法】AES对称加密算法简介
|
29天前
|
安全 小程序 数据安全/隐私保护
aes加密算法python版本
aes加密算法python版本
52 0
|
29天前
|
算法 安全 物联网
全面了解AES加密:入门指南(二)
全面了解AES加密:入门指南
|
29天前
|
存储 算法 安全
加密解密AES(证件号、手机号)
加密解密AES(证件号、手机号)
|
29天前
|
存储 安全 算法
全面了解AES加密:入门指南(一)
全面了解AES加密:入门指南
|
29天前
|
存储 安全 Go
加密必备技能:深入理解RSA与AES
加密必备技能:深入理解RSA与AES
100 0
|
29天前
|
存储 前端开发 JavaScript
JavaScript学习 -- AES加密算法
JavaScript学习 -- AES加密算法
75 0
|
29天前
|
算法 Java 数据库连接
实现 MyBatis-Plus 中的配置加密功能(使用 AES 算法)
实现 MyBatis-Plus 中的配置加密功能(使用 AES 算法)
257 0