Chiffrer la base de données SQLite en C #

Quelle est la meilleure approche pour le cryptage d'un fichier de base de données SQLite .Net/C#? Je suis en utilisant sqlite-dotnet2 wrapper.

Il existe des outils comme SQLite Cryptage Extension et SQLite Cryptemais les deux sont non-libre, alors que mon projet est sous licence GPL.

L'approche naïve, je pensais de l'aide est de les laisser SQLite gérer un fichier temporaire, puis chiffrer sur la sortie du programme, et de les écraser (zéro) l'original. L'inconvénient évident est que si le programme se bloque (et alors qu'il est en cours d'exécution), le texte brut DB est accessible.

Est-il une meilleure façon d'aborder cette question? Puis-je passer un flux chiffré pour l'emballage (au lieu d'utiliser SQLiteConnection.CreateFile) ?

[edit] je suis Peut-être avoir à y penser. Est est suffisante pour utiliser l'option de Mot de passe dans la chaîne de connexion? Serait le fichier chiffré correctement dans ce cas (ou est-ce un faible protection)?

source d'informationauteur dbkk