Blackberry шифровать + сохранить данные - PullRequest
1 голос
/ 02 марта 2010

Моя система позволяет пользователям сохранять свою работу как черновик. Я хотел бы зашифровать данные, прежде чем сохранить их. Я работал над этим -

AESKey k = new AESKey();
AESEncryptorEngine a = new AESEncryptorEngine(k);
a.encrypt(byte[] data_input, int input_offset, byte[] data_output, byte[] output_offset);

Мне, однако, нужно сохранить объект. Есть ли способ получить поток байтов [] от объекта? Кроме того, какой стандарт шифрования мне следует учитывать с учетом ограничений процессора / памяти мобильного устройства?

Спасибо,
Тея.

Ответы [ 3 ]

3 голосов
/ 03 марта 2010

Вы упоминаете, что собираетесь сохранить свой объект; Означает ли это, что вы собираетесь разместить его в PersistentStore? Если так, у вас есть доступ к некоторой встроенной защите.

Вы можете использовать объект ControlledAccess, чтобы предотвратить любой доступ из приложения без ключей подписи кода. Вы можете найти больше информации здесь: http://www.blackberry.com/developers/docs/4.1api/net/rim/device/api/system/ControlledAccess.html

0 голосов
/ 15 марта 2010

Из того, что я могу сказать, процедуры ControlledAccees на самом деле не шифруют объект, они просто затрудняют поиск постоянного объекта.

Кто-нибудь знает, как действительно зашифровать объект или превратить его в поток байтов, чтобы его можно было зашифровать, используя BlowFish / TwoFish / другой метод шифрования?

0 голосов
/ 02 марта 2010

Чтобы сохранить объект, попросите ваш класс implement Serializable и записать объект в файл . См. здесь для получения дополнительной информации о сериализации.

Если необходимо шифрование, вы можете просто зашифровать файл. Я почти уверен, что Blowfish - это путь для встроенного устройства. Он использует очень мало памяти, а AES немного медленнее на процессоре ARM.

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