Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it safe to store username + passwords in a local SQLite db in Android?

I'm at the point where I can allow the user to store credentials for a simple web app in my up coming Android app. My fear (being new to Android) is that other (evil) apps could get at this seemingly local database (local to my app that is)

When writing this feature should I fear other apps getting at this data? If so what is the best way to encrypt it locally (but remember I need to pull it back out at some point to log the user in when they are using the app)

thank you!

like image 831
JimmyBond Avatar asked Jun 01 '11 18:06

JimmyBond


2 Answers

I have a similar situation, and found the SimpleCrypto class enough for my needs to get the passwords encrypted to avoid plain text output of passwords being easily read.

How you decide to use a key for the encryption is another question. As shown here, you could use the unique Id of the phone (obvious problems being that if they change phone you can't decrypt your data), or just simply use a random string in your code. It depends how hard you want to make recovery and how important the data is you're securing.

like image 131
Mark Fisher Avatar answered Oct 06 '22 23:10

Mark Fisher


No... others app won't be able to get access to private data like your sqlite database. But, it's worthy to encrypt at least the passwords, just in case.

like image 29
Cristian Avatar answered Oct 06 '22 23:10

Cristian