2016-05-17 3 views
1

Я использую ORMLite и SQLite для своей ORM и базы данных в приложении WPF. То, как я в настоящее время шифрую свои данные, - это использовать функцию AES 256, которая шифрует каждую отдельную строку в базе данных. Это становится беспорядочным и заставляет меня писать около 50 строк кода, которые мне не нужны.SQLite Database Encryption C#?

Есть ли способ шифрования базы данных SQLite в C# с использованием .net, ORMLite или SQLite?

ответ

0

Почему бы вам не зашифровать весь файл базы данных sqlite, а затем при запуске расшифровать его с помощью ключа AES и записать его во временный файл по адресу Path.GetTempFileName() и подключить Sqlite к временной расшифрованной базе данных Sqlite.

Тогда, когда приложение существует, зашифруйте содержимое файла и перезапишите существующий sqlite.db.encrypted.

При необходимости ServiceStack имеет полезный класс AesUtils, который обеспечивает удобный API для шифрования и дешифрования произвольных байтов.