Zufällige IV für AES in Java generieren

Ich implementiere und AES-Verschlüsselungs-Engine für PBE in Android, und ich habe zwei Möglichkeiten gefunden, um die Erstellung der IV zu implementieren, und ich möchte wissen, welche besser und sicherer ist, umIvParameterSpec:

Methode 1

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

IvParameterSpec ivParams = new IvParameterSpec(iv);

Methode # 2:

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

ivParams = new IvParameterSpec(iv2);

Antworten auf die Frage(2)

Ihre Antwort auf die Frage