AES-шифрование Java для потока данных - PullRequest
0 голосов
/ 21 февраля 2011

Я использую шифрование AES в своем приложении для Android, где данные поступают в виде потока.Иногда поток данных содержит данные размером до 8 МБ.Я не могу создать байтовый массив для 8 МБ в Android, он убьет все другие приложения для создания такой большой кучи.Поэтому я решил использовать буфер байтового массива и шифровать небольшие порции данных одновременно.Но данные становятся поврежденными

Key key = generateKey();
Cipher c = Cipher.getInstance(ALGORITHM);
c.init(mode, key);
while(all bytes are read){
byte[] encValue = c.update(valueToEnc);
}

Я даже пытался вызвать c.doFinal () для моего последнего чанка, но даже это не помогло.Может кто-нибудь направить меня к хорошему учебнику о том, как зашифровать или расшифровать поток в Java?

1 Ответ

3 голосов
/ 21 февраля 2011

Вам следует рассмотреть возможность использования CipherInputStream и / или CipherOutputStream .Обычно их гораздо проще использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...