Генерация случайного IV для AES в Java

Я внедряю и механизм шифрования AES для PBE в Android, и я нашел два способа реализовать создание IV, и я хотел бы знать, какой из них лучше и безопаснее для полученияIvParameterSpec:

Способ № 1:

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

IvParameterSpec ivParams = new IvParameterSpec(iv);

Способ № 2:

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

ivParams = new IvParameterSpec(iv2);

Ответы на вопрос(1)

Ваш ответ на вопрос