AES / CBC / PKCS5Padding vs AES / CBC / PKCS7Padding con 256 java de rendimiento de tamaño de clave
Actualmente estoy usandoAES/CBC/PKCS5Padding
para cifrar archivos en Java con256 bytes tamaño de la clave, pero durante la búsqueda encontré en stackexchangePKCS # 5-PKCS # 7 Padding y se menciona,
El relleno PKCS # 5 es un subconjunto del relleno PKCS # 7 para bloques de 8 bytes.
Asi que quiero saber
Será el desempeño deAES/CBC/PKCS7Padding
será mejor entoncesAES/CBC/PKCS5Padding
para la configuracion anterior?¿Cómo podemos configurar el tamaño de bloque en Java como se menciona?El relleno PKCS # 7 funcionaría para cualquier tamaño de bloque de 1 a 255 bytes.
Mi código de ejemplo es,
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);