Puede utilizar el cifrado integrado del proveedor .net sqlite (System.Data.SQLite). Ver más detalles en http://web.archive.org/web/20070813071554/http://sqlite.phxsoftware.com/forums/t/130.aspx
Para cifrar una base de datos no cifrada existente , o para cambiar la contraseña de una base de datos cifrada , abra la base de datos y luego use la función ChangePassword () de SQLiteConnection:
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3");
cnn.Open();
cnn.ChangePassword("mypassword");
Para descifrar una llamada de base de datos cifrada existenteChangePassword() con una contraseña NULLo "":
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3;Password=mypassword");
cnn.Open();
cnn.ChangePassword(null);
Para abrir una base de datos cifrada existente, o para crear una nueva base de datos cifrada, especifique una contraseña ConnectionStringcomo se muestra en el ejemplo anterior, o llame a la SetPassword()función antes de abrir una nueva SQLiteConnection. Las contraseñas especificadas en el ConnectionStringdeben ser texto sin cifrar, pero las contraseñas proporcionadas en la SetPassword()función pueden ser matrices de bytes binarios.
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3");
cnn.SetPassword(new byte[] { 0xFF, 0xEE, 0xDD, 0x10, 0x20, 0x30 });
cnn.Open();
De forma predeterminada, la palabra clave ATTACH utilizará la misma clave de cifrado que la base de datos principal al adjuntar otro archivo de base de datos a una conexión existente. Para cambiar este comportamiento, use el modificador KEY de la siguiente manera:
Si está adjuntando una base de datos cifrada con una contraseña de texto sin cifrar:
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();
Para adjuntar una base de datos encriptada usando una contraseña 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();