Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android - Storing sensitive data in the sqlite database

Tags:

I need to store sensitive data in a sqlite database in an android app.

How can I be sure this data is very safe? I know I can encrypt the data using a key, but where do I store that key? I don't want to ask the user to fill in a key either, I just want it to work on it's own. Because I am afraid of reverse engineering I don't want to put an encryption key in the code either.

I found out about SQLCipher. It says it's a very secure way of encrypting the data in the database, but why is it that way? Don't I also need to keep a key to unlock that information? Or is this really a perfect way of making sure the data is safe?

And if it isn't, what is an (almost) fail-proof way of storing sensitive data in an sqlite database?