2017-04-27 5 views
0

J'ai une question et j'espère que vous pourrez m'aider avec.Stockez des données auxquelles personne ne peut accéder en dehors de moi dans Android

J'ai créé une application qui a besoin de stocker une donnée dans l'appareil Android QUE PERSONNE NE PEUT ACCÉDER indépendamment de moi dans le code source.

je recherche une solution que je trouve la FileOutpuStream et FileInputStream:

private String file="mydata", data; 


FileOutputStream fOut = openFileOutput(file,MODE_PRIVATE); 
       fOut.write(data.getBytes()); 
       fOut.close(); 

et

FileInputStream fin = openFileInput(file); 

Ma question est où est le fichier créé magasin? Et est-ce sûr que personne ne peut y accéder même s'ils trouvent le fichier dans leur appareil?

+0

bref il n'y a aucun moyen d'empêcher de lire vos fichiers. root acccess permettra à l'utilisateur d'accéder à n'importe quel fichier. –

+0

@Vlad Matvienko Est-ce vraiment leur impossible? :/Qu'en est-il de la base de données SQLite? – Kolopox

+0

'Base de données SQLite' est stocké comme un fichier regullar dans le répertoire de stockage interne de votre application, donc malheureusement non. –

Répondre

2

Le fichier est créé dans la mémoire interne du téléphone et seule votre application peut y accéder.

Assurez-vous que ce n'est pas fiable à 100% car c'est juste un fichier, vous feriez mieux de trouver autre chose. Rooted Android peut accéder à n'importe quel fichier qu'ils veulent.

EDIT: Lisez les deux premières lignes de https://developer.android.com/guide/topics/data/data-storage.html#filesInternal

+0

Ouais j'ai utilisé ce site pour trouver cette méthode mais je ne comprenais pas vraiment si c'était complètement sécurisé ou pas ... Que penses-tu de la base de données SQLite? Pouvez-vous accéder aux données dans un android enraciné? – Kolopox

+0

Désolé pour la réponse tardive, Je suis assez sûr que vous pouvez y accéder sur un android enraciné car c'est une base de données locale, ce sera comme un fichier ordinaire. Je ne sais pas vraiment comment vous pourriez traiter ce problème ... Peut-être l'accès à une base de données en ligne protégée par un mot de passe? –