Хранение шифра в файле: реализация RSA - PullRequest
0 голосов
/ 11 февраля 2012

Мое шифрование и дешифрование работает без использования файла.Но я должен сохранить зашифрованные данные в файле и передать их в одноранговую систему, где я должен прочитать файл и расшифровать его.Проблема, с которой я сталкиваюсь, заключается в том, что один Unicode для шифрования дает мне набор Unicodes (то есть мой шифр), как это.

                                  ☺ ╪iß 

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

1 Ответ

1 голос
/ 11 февраля 2012

Алгоритмы шифрования не работают с символами Юникода. Они работают с двоичными данными: байтовые массивы.

Если вам необходимо зашифровать текст в Unicode (например, String), затем выбрать байт-кодировку без потерь для String (например, UTF-8), преобразовать String в байтовый массив (String.getBytes("UTF-8")) зашифруйте байтовый массив и запишите полученный байтовый массив в файл.

При дешифровании считывайте файл как байтовый массив, дешифруйте этот байтовый массив (который дает другой байтовый массив) и воссоздайте строку из этого байтового массива, используя ту же кодировку символов: new String(plainTextBytes, "UTF-8").

...