chiffrer une base de données sqlite Android:
Bonjour, dans mon application j'ai déjà un existant sqlite
base de données. Et maintenant, le problème est ce que quelqu'un peut tirer la sqlite database
de l'appareil et peut être l'utiliser. Maintenant, j'ai besoin de encrypt the sqlite file
. J'ai trouvé que SQLCipher
est utilisé pour chiffrer la base de données sqlite. Mais le vrai problème c'est que je n'ai aucune idée avec SQLCipher
et ne savez pas comment il fonctionne. Essayez d'utiliser différents projets. Rien aider. Quiconque s'il vous plaît dites-moi comment chiffrer ma base de données sqlite.
Merci d'avance.
Vous devez vous connecter pour publier un commentaire.
L'étape n ° 0: Ajouter le code à votre INTERFACE utilisateur pour inviter l'utilisateur à entrer un mot de passe.
Étape #1: Télécharger le SQLCipher pour Android fichier ZIP.
Étape #2: Décompressez le fichier ZIP et naviguez vers le répertoire qui a une
assets/
et unlibs/
dossier.Étape #3: Copier le contenu de la
assets/
répertoire dans votre projetassets/
répertoire.Étape #4: Copiez le contenu de la
libs/
répertoire dans votre projetlibs/
répertoire. Gradle/Android Studio les utilisateurs auront également besoin d'ajouter une ligne à haut niveau dedependencies
fermeture le chargement du contenu delibs/
, si vous n'avez pas déjà un.Étape #5: Remplacer tous les
android.database.*
etandroid.database.sqlite.*
importations avec leur SQLCipher pour Android équivalents. Si vous utilisez un IDE qui peuvent vous aider à résoudre manquant importations (par exemple, Ctrl-Maj-O dans Eclipse), la meilleure chose à faire est de se débarrasser de toutes lesandroid.database.*
etandroid.database.sqlite.*
importations et de laisser les IDE aider à les résoudre. Choisissez lenet.sqlcipher
les importations lorsque le choix.Étape #6: Vous allez maintenant avoir des erreurs du compilateur sur quelques méthodes lorsque vous ouvrez une base de données (par exemple,
getReadableDatabase()
surSQLiteOpenHelper
), où vous devez maintenant passer à la phrase de passe que vous avez recueillies à partir de l'utilisateur dans l'Étape n ° 0.Cela fonctionne pour de nouvelles applications à partir de nouvelles bases de données. Il y a une charge de travail accrue pour mettre à jour une application existante avec les utilisateurs existants, si vous souhaitez autoriser les utilisateurs à passer à une base de données chiffrée.
encrypt()
méthode de ce fichier source. Si vous avez d'autres questions dans ce domaine, veuillez vous adresser à un frais de Dépassement de Pile question.zip
fichier, il n'y a pas deassets/
nilib/
dossiers.