web-dev-qa-db-fra.com

cryptage sqlite pour Android

je cherche très fort la possibilité de chiffrer ma base de données sqlite sur des appareils Android, mais je n'ai pas pu trouver de solution satisfaisante.

J'ai besoin de quelque chose comme une librairie à référencer, afin d'avoir un cryptage/décryptage "à la volée" de ma base de données, tout en utilisant les fonctions normales de SQLite.

Je ne veux pas chiffrer les données avant de les stocker.

Je ne veux pas chiffrer l'intégralité de la base de données afin de le déchiffrer avant de l'utiliser.

Je connais les projets suivants:

Mais je ne trouve aucun exemple de travail pour ce genre de choses.

Au fait, je suis tout à fait disposé à acheter une version commerciale, mais je dois tester avant de dépenser quelques centaines de dollars.

Quelqu'un at-il résolu ce problème pour son compte? 

edit: question est résolu par commonsWare, si vous suivez son lien: le port SQLCypher sur Android Vous pourrez télécharger les fichiers neccesary et les ajouter à votre projet. Cela pourrait ressembler à ceci: enter image description here

38
2red13

Essayez le port SQLCipher sur Android au lieu du SQLCipher habituel.

41
CommonsWare

litereplica supporte chiffrement en utilisant le chiffrement ChaCha, plus rapide qu’AES sur les appareils portables.

Il y a bindings pour Android.

Pour créer et ouvrir une base de données cryptée, nous utilisons un URI comme celui-ci:

"file:/path/to/file.db?cipher=...&key=..."
1
Bernardo Ramos

Si quelqu'un cherche encore:

Remplacer la fonction SQLiteOpenHelper comme ci-dessous: 

void onConfigure(SQLiteDatabase db){ db.execSQL("PRAGMA key = 'secretkey'"); }

0
ash1103