Я ищу способ, используя пароль любого размера, зашифровать файл, который я получаю через поток с AES
. Чтобы упростить начало, я пытался просто записать какое-то зашифрованное сообщение в файл. Но у меня возникли проблемы:
cos
, в файл будет записано что-то зашифрованное. Но если я попробую что-то меньшее, как "abc", ничего не будет написано. Я играл с несколькими вариантами заполнения, но они кажутся бесполезными (PKCS5Padding, SSL3Padding, NoPadding ).Вот код, который я использую:
SecretKeySpec localSecretKeySpec = new SecretKeySpec("aaaaaaaaaaaaaaaa".getBytes(), "AES");
Cipher localCipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
localCipher.init(Cipher.ENCRYPT_MODE, localSecretKeySpec);
CipherOutputStream cos = new CipherOutputStream(new FileOutputStream("abc"), localCipher);
IOUtils.write("abc", cos);
cos.flush();