Вы должны сделать дешифрование / шифрование в памяти.Никогда, никогда не храните незашифрованные данные на диске.Загрузите зашифрованные данные, расшифруйте их в памяти.При сохранении сначала зашифруйте в памяти, а затем сохраните.
Замена всего содержимого файла безопасным способом даже в случае внезапного выключения.Обходной путь - создать новый файл с временным именем и, когда он полностью записан на диск, удалить старый файл и переименовать новый.Однако есть и другие последствия этого, например, права безопасности, относящиеся к потерянному файлу.
Лучшим, но более сложным вариантом является перемещение всего в базу данных с поддержкой транзакций.