JCE中支持AES,支持的模式和填充方式
2009-03-09 18:11
176 查看
JCE中AES支持五中模式:CBC,CFB,ECB,OFB,PCBC;支持三种填充:NoPadding,PKCS5Padding,ISO10126Padding。不支持SSL3Padding。不支持“NONE”模式。
其中AES/ECB/NoPadding和我现在使用的AESUtil得出的结果相同(在16的整数倍情况下)。
不带模式和填充来获取AES算法的时候,其默认使用ECB/PKCS5Padding。
算法/模式/填充 16字节加密后数据长度 不满16字节加密后长度
AES/CBC/NoPadding 16 不支持
AES/CBC/PKCS5Padding 32 16
AES/CBC/ISO10126Padding 32 16
AES/CFB/NoPadding 16 原始数据长度
AES/CFB/PKCS5Padding 32 16
AES/CFB/ISO10126Padding 32 16
AES/ECB/NoPadding 16 不支持
AES/ECB/PKCS5Padding 32 16
AES/ECB/ISO10126Padding 32 16
AES/OFB/NoPadding 16 原始数据长度
AES/OFB/PKCS5Padding 32 16
AES/OFB/ISO10126Padding 32 16
AES/PCBC/NoPadding 16 不支持
AES/PCBC/PKCS5Padding 32 16
AES/PCBC/ISO10126Padding 32 16
可以看到,在原始数据长度为16的整数倍时,假如原始数据长度等于16*n,则使用NoPadding时加密后数据长度等于16*n,其它情况
下加密数据长度等于16*(n+1)。在不足16的整数倍的情况下,假如原始数据长度等于16*n+m[其中m小于16],除了NoPadding填充之
外的任何方式,加密数据长度都等于16*(n+1);NoPadding填充情况下,CBC、ECB和PCBC三种模式是不支持的,CFB、OFB两种模
式下则加密数据长度等于原始数据长度。
其中AES/ECB/NoPadding和我现在使用的AESUtil得出的结果相同(在16的整数倍情况下)。
不带模式和填充来获取AES算法的时候,其默认使用ECB/PKCS5Padding。
算法/模式/填充 16字节加密后数据长度 不满16字节加密后长度
AES/CBC/NoPadding 16 不支持
AES/CBC/PKCS5Padding 32 16
AES/CBC/ISO10126Padding 32 16
AES/CFB/NoPadding 16 原始数据长度
AES/CFB/PKCS5Padding 32 16
AES/CFB/ISO10126Padding 32 16
AES/ECB/NoPadding 16 不支持
AES/ECB/PKCS5Padding 32 16
AES/ECB/ISO10126Padding 32 16
AES/OFB/NoPadding 16 原始数据长度
AES/OFB/PKCS5Padding 32 16
AES/OFB/ISO10126Padding 32 16
AES/PCBC/NoPadding 16 不支持
AES/PCBC/PKCS5Padding 32 16
AES/PCBC/ISO10126Padding 32 16
可以看到,在原始数据长度为16的整数倍时,假如原始数据长度等于16*n,则使用NoPadding时加密后数据长度等于16*n,其它情况
下加密数据长度等于16*(n+1)。在不足16的整数倍的情况下,假如原始数据长度等于16*n+m[其中m小于16],除了NoPadding填充之
外的任何方式,加密数据长度都等于16*(n+1);NoPadding填充情况下,CBC、ECB和PCBC三种模式是不支持的,CFB、OFB两种模
式下则加密数据长度等于原始数据长度。
相关文章推荐
- JCE中支持AES,支持的模式和填充方式
- AES加密模式和填充方式,hash,md5,ca
- Sql Server 2008 全文索引支持跟踪更改的自动填充方式,太他妈省心了!
- 密码2-加密模式和填充方式
- java实现基于PKCS5Padding填充方式的AES加解密
- 工作流模式每个工作流引擎都会支持多种方式的表单。目前大家讨论到的大概有三种。 动态表单 外置表单 普通表单
- 基于.Net3.5编写,全异步操作。支持TCP、UDP两种方式,全事件模式通知。
- AES加密模式和填充模式
- [转]AES加密填充模式
- 为GoLang增加aes的ECB模式支持
- Android中 MD5、RC4、DES、DESede (3DES)、RSA、AES、自定义填充方式的 AES加密/解密算法
- 一个强大的图片缩放类,支持填充缩放模式
- AES 加密位: 128位,加密模式:CBC, 填充模式:Zeros
- java实现基于PKCS7Padding填充方式的AES加解密
- Java版适用于PHP版3DES加密解密(PHP语言开发的MCRYPT_3DES算法、MCRYPT_MODE_ECB模式、PKCS7填充方式)
- PHP OpenSSL 加密扩展 - 跟 Java 的交锋(AES 加密方式,ECB 模式)
- 填充DataSet数据集的几种方式
- asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式
- spring对AOP的支持(采用Annotation方式)
- 史上最强jquery1.3.2轻松打造div模式层! asp.net和html和MagicAjax实现3种方式! 已更新!