Когда я пытаюсь расшифровать файл на моем компьютере, файл поврежден. Тот же код в Android Java прекрасно работает при шифровании и дешифровании файла. Я конвертирую файл в byte [], затем шифрую и сохраняю его. Затем загрузите сохраненный файл, расшифруйте его и сохраните снова. Шифрование и дешифрование текста работает нормально и не повреждает файл. Шифрование и дешифрование файла на ПК не приводит к его повреждению. отправка зашифрованного файла с ПК на Android не приводит к повреждению при расшифровке Android. Но когда я отправляю зашифрованный файл Android и пытаюсь расшифровать на ПК, он поврежден.
EDIT:
Код расшифровки:
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(Cipher.DECRYPT_MODE, key);
byte[] byteRaw = cipher.doFinal(encrypted);
return byteRaw;
Я знаю, что использование ECB небезопасно по сравнению с CBC, но я делаю это как демонстрацию того, что вы можете шифровать и дешифровать файлы на Android и ПК
Вот как я могу сохранить байт в файл:
File file = new File("decrypted.jpg");
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file));
bos.write(byteRaw);
bos.flush();
bos.close();
Код для шифрования и дешифрования одинаков на Android и ПК, поэтому теоретически должен работать на обоих устройствах.