AES / CBC / PKCS5Padding vs AES / CBC / PKCS7 Wypełnienie z 256 rozmiarami klucza java
Obecnie używamAES/CBC/PKCS5Padding
do szyfrowania plików w Javie za pomocą256 bajtów rozmiar klucza, ale podczas wyszukiwania znalazłem na stosie wymianyPKCS # 5-PKCS # 7 Wypełnienie i jest wspomniane,
Wypełnienie PKCS # 5 jest podzbiorem wypełnienia PKCS # 7 dla 8-bajtowych rozmiarów bloku
Więc chcę wiedzieć
Czy wydajnośćAES/CBC/PKCS7Padding
będzie lepiejAES/CBC/PKCS5Padding
dla powyższej konfiguracji?Jak możemy skonfigurować rozmiar bloku w Javie, tak jak jest on wspomnianyWypełnienie PKCS # 7 będzie działać dla każdego rozmiaru bloku od 1 do 255 bajtów.
Mój przykładowy kod to,
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);