libgcrypt AES для возврата зашифрованного текста ascii? - PullRequest
0 голосов
/ 02 мая 2011

Привет, я разрабатываю разделяемую библиотеку JNI, которая использует режим AES256 CFB для шифрования некоторых данных с использованием libgcrypt, а затем передает зашифрованные данные обратно в приложение Java для дальнейшей обработки.

Однако, когда я пытаюсьрасшифровать данные, передав их снова в общую библиотеку. Я больше не могу вернуть исходный простой текст.Кажется, что если бы я зашифровал и расшифровал те же данные, не передавая их обратно в приложение Java, я бы вернул исходный простой текст.

Я думал, что это было преобразование буфера символов, которое я использовал длясохранить зашифрованные данные в NewStringUTF () (т. е. env-> NewStringUTF (buf)) для отправки обратно в Java, которая вызвала проблему, поэтому есть ли возможность получить / преобразовать вывод зашифрованных данных в ascii или, если былкакая-то другая работа?

Большое спасибо, Foo

1 Ответ

0 голосов
/ 02 мая 2011

Почему вы используете JNI и внешние библиотеки только для шифрования строки?Используйте встроенный в Java класс javax.crypto.Cipher.

Однако, что касается вашего реального вопроса, вы должны передавать данные в виде байтового массива, а не строки.Шифры работают с байтами, а не с абстрактными кодами Unicode.

...