AES/CBC/PKCS5Padding vs AES/CBC/PKCS7Padding with 256 key size performance java
2022-09-01 09:41:53
我目前正在使用256字节密钥大小的Java加密文件,但是在搜索时,我发现在stackexchange PKCS#5-PKCS#7填充中,并提到它,AES/CBC/PKCS5Padding
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);