La génération aléatoire IV pour l'AES en Java

Je suis la mise en œuvre et le chiffrement AES moteur pour PBE sous android, et j'ai trouvé deux façons de mettre en œuvre la création de la IV et je voudrais savoir lequel est le mieux et le plus sûr pour arriver IvParameterSpec:

Méthode #1:

SecureRandom randomSecureRandom = SecureRandom.getInstance("SHA1PRNG");
byte[] iv = new byte[cipher.getBlockSize()];
randomSecureRandom.nextBytes(iv);

IvParameterSpec ivParams = new IvParameterSpec(iv);

Méthode #2:

AlgorithmParameters params = cipher.getParameters();
byte[] iv2 = params.getParameterSpec(IvParameterSpec.class).getIV();

ivParams = new IvParameterSpec(iv2);

OriginalL'auteur user1576396 | 2015-03-25