Vous pouvez utiliser le cryptage intégré du fournisseur sqlite .net (System.Data.SQLite). Pour plus de détails, voir http://web.archive.org/web/20070813071554/http://sqlite.phxsoftware.com/forums/t/130.aspx
A crypter une base de données existante non cryptée ou pour changer le mot de passe d'une base de données chiffrée Ouvrez la base de données, puis utilisez la fonction ChangePassword() de SQLiteConnection :
// Opens an unencrypted database
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3");
cnn.Open();
// Encrypts the database. The connection remains valid and usable afterwards.
cnn.ChangePassword("mypassword");
A décrypter une base de données chiffrée existante appelez ChangePassword()
avec un NULL
o ""
mot de passe :
// Opens an encrypted database
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3;Password=mypassword");
cnn.Open();
// Removes the encryption on an encrypted database.
cnn.ChangePassword(null);
Pour ouvrir une base de données cryptée existante, ou pour créer une nouvelle base de données cryptée, spécifiez un mot de passe dans le champ de saisie du mot de passe. ConnectionString
comme indiqué dans l'exemple précédent, ou appelez la fonction SetPassword()
avant d'ouvrir une nouvelle SQLiteConnection
. Les mots de passe spécifiés dans le ConnectionString
doit être en clair, mais les mots de passe fournis dans le champ SetPassword()
peuvent être des tableaux d'octets binaires.
// Opens an encrypted database by calling SetPassword()
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3");
cnn.SetPassword(new byte[] { 0xFF, 0xEE, 0xDD, 0x10, 0x20, 0x30 });
cnn.Open();
// The connection is now usable
Par défaut, le mot clé ATTACH utilisera la même clé de cryptage que la base de données principale lors de l'attachement d'un autre fichier de base de données à une connexion existante. Pour changer ce comportement, vous utilisez le modificateur KEY comme suit :
Si vous joignez une base de données chiffrée en utilisant un mot de passe en clair :
// Attach to a database using a different key than the main database
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();
Pour joindre une base de données cryptée en utilisant un mot de passe binaire :
// Attach to a database encrypted with a binary key
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();
2 votes
Vous pourriez vouloir vérifier SQLiteCrypt
1 votes
stackoverflow.com/questions/5669905/
0 votes
Si vous avez besoin de verrouiller/déverrouiller fréquemment la DB pour le débogage, essayez cet outil goo.gl/12VnQd
0 votes
Vous pouvez trouver la solution ici Entrez la description du lien ici
0 votes
Duplicata possible de SQLite avec cryptage/protection par mot de passe