При шифровании данных в Java следующим образом:инициализации шифра объекта в Java
SecureRandom sr = new SecureRandom();
DESKeySpec dks = new DESKeySpec(rawKeyData);
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
SecretKey key = keyFactory.generateSecret(dks);
Cipher cipher = Cipher.getInstance("DES");
cipher.init(Cipher.ENCRYPT_MODE, key, sr);
// why the sr is necessary to init a Cipher object?
byte data[] = str.getBytes();
byte[] encryptedData = cipher.doFinal(data);
Почему SecureRandom
объект sr
необходимо инициализировать шифра объект? Что касается стороны расшифровки, также нужен объект SecureRandom
, который не совпадает с тем, который был создан в размере шифрования. Являются ли эти SecureRandom
объектами только для цифры четности?