Вам нужно два шага - сериализация / десериализация, которая преобразует объект в представление, которое может быть сохранено на диске; и шифрование / дешифрование, которое шифрует представление на диске.
В Java вы можете использовать ObjectOutputStream
для выполнения сериализации и CipherOutputStream
для выполнения шифрования. Сначала получите FileOutputStream
, затем передайте его конструктору CipherOutputStream
, затем передайте , что , конструктору ObjectOutputStream
. Затем вы можете просто передать свои Сериализуемые объекты на ObjectOutputStream
, и они будут в конечном итоге сериализованы, зашифрованы и записаны в файл. (Вам, конечно, потребуется выполнить дополнительную настройку хотя бы для объекта CipherOutputStream
, но это основная идея).
Однако , здесь есть довольно большое предостережение. Шифрование, которое вы делаете, - не более, чем запутывание - если вы дадите кому-то зашифрованные данные и программу, которая сможет их расшифровать, у этого человека будет вся информация, необходимая ему для расшифровки данных. Нет способа обойти это - если ваша программа может расшифровать ее, то ваша программа может быть разобрана и ее секреты найдены.