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