È possibile utilizzare la crittografia incorporata del provider sqlite .net (System.Data.SQLite). Ulteriori dettagli su http://web.archive.org/web/20070813071554/http://sqlite.phxsoftware.com/forums/t/130.aspx
Per crittografare un database non crittografato esistente o per modificare la password di un database crittografato , aprire il database e quindi utilizzare la funzione ChangePassword () di SQLiteConnection:
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3");
cnn.Open();
cnn.ChangePassword("mypassword");
Per decrittografare una chiamata al database crittografata esistenteChangePassword() con una password NULLo "":
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3;Password=mypassword");
cnn.Open();
cnn.ChangePassword(null);
Per aprire un database crittografato esistente o per creare un nuovo database crittografato, specificare una password ConnectionStringcome mostrato nell'esempio precedente o chiamare la SetPassword()funzione prima di aprirne uno nuovo SQLiteConnection. Le password specificate in ConnectionStringdevono essere in chiaro, ma le password fornite nella SetPassword()funzione possono essere array di byte binari.
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3");
cnn.SetPassword(new byte[] { 0xFF, 0xEE, 0xDD, 0x10, 0x20, 0x30 });
cnn.Open();
Per impostazione predefinita, la parola chiave ATTACH utilizzerà la stessa chiave di crittografia del database principale quando si collega un altro file di database a una connessione esistente. Per modificare questo comportamento, utilizza il modificatore KEY come segue:
Se stai allegando un database crittografato utilizzando una password in chiaro:
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();
Per allegare un database crittografato utilizzando una password binaria:
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();