【发布时间】:2014-01-13 05:42:55
【问题描述】:
我目前正在使用AES/CBC/PKCS5Padding 加密具有 256 字节 密钥大小的 Java 文件,但在搜索时我在 stackexchange PKCS#5-PKCS#7 Padding 上找到并提到了,
PKCS#5 填充是 8 字节块大小的 PKCS#7 填充的子集
所以我想知道
- 对于上述配置,
AES/CBC/PKCS7Padding的性能会比AES/CBC/PKCS5Padding更好吗? - 如前所述,我们如何在 Java 中配置块大小
PKCS#7 填充适用于从 1 到 255 字节的任何块大小。
我的示例代码是,
SecureRandom rnd = new SecureRandom();
IvParameterSpec iv = new IvParameterSpec(rnd.generateSeed(16));
KeyGenerator generator = KeyGenerator.getInstance("AES");
generator.init(256);
SecretKey k = generator.generateKey();
Cipher c = Cipher.getInstance("AES/CBC/PKCS5Padding");
c.init(Cipher.ENCRYPT_MODE, k, iv);
【问题讨论】:
标签: java encryption aes pkcs#7 pkcs#5