Ви можете скористатися вбудованим шифруванням провайдера sqlite .net (System.Data.SQLite). Детальніше див. На http://web.archive.org/web/20070813071554/http://sqlite.phxsoftware.com/forums/t/130.aspx
Щоб зашифрувати існуючу незашифровану базу даних або змінити пароль зашифрованої бази даних , відкрийте базу даних, а потім скористайтеся функцією ChangePassword () SQLiteConnection:
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3");
cnn.Open();
cnn.ChangePassword("mypassword");
Щоб розшифрувати існуючий зашифрований виклик бази данихChangePassword() за допомогою пароля NULLабо ""пароля:
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3;Password=mypassword");
cnn.Open();
cnn.ChangePassword(null);
Щоб відкрити існуючу зашифровану базу даних або створити нову зашифровану базу даних, вкажіть пароль у, ConnectionStringяк показано в попередньому прикладі, або викликайте SetPassword()функцію перед тим, як відкривати нову SQLiteConnection. Паролі, вказані в ConnectionStringобов’язковому тексті, мають бути прозорим текстом, але паролі, що надаються SetPassword()функцією, можуть бути двійковими байтовими масивами.
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3");
cnn.SetPassword(new byte[] { 0xFF, 0xEE, 0xDD, 0x10, 0x20, 0x30 });
cnn.Open();
За замовчуванням ключове слово ATTACH використовуватиме той самий ключ шифрування, що і основна база даних, коли приєднує інший файл бази даних до існуючого з'єднання. Щоб змінити цю поведінку, ви використовуєте модифікатор KEY наступним чином:
Якщо ви приєднуєте зашифровану базу даних, використовуючи пароль чистого тексту:
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3");
cnn.Open();
cmd = new SQLiteCommand("ATTACH DATABASE 'c:\\pwd.db3' AS [Protected] KEY 'mypassword'", cnn);
cmd.ExecuteNonQuery();
Щоб підключити зашифровану базу даних за допомогою двійкового пароля:
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3");
cnn.Open();
cmd = new SQLiteCommand("ATTACH DATABASE 'c:\\pwd.db3' AS [Protected] KEY X'FFEEDD102030'", cnn);
cmd.ExecuteNonQuery();