Is there any way for securing data in SQLite; Can we apply encryption or decryption for our sensitive data in SQLite? I want it for my iOS App; It contains some sensitive data. If any one make this type of work then please guide; Your help will give me some direction; Many thanks
-
I am just reading SQLCipher from this link: http://blog.chariotsolutions.com/2012/04/securing-data-in-ios.html and seems that we can do it with SQLCipher; – msmq Sep 10 '13 at 13:40
-
When you say "our sensitive data," who are you protecting the data from? If you mean "our user's sensitive data, which we want to protect from outside attackers" then there are several very good approaches. If you mean "our sensitive data that we send to the user's device as part of the app, but still want to protect from the user" then that is not a really solvable problem (though there are some things you can do to provide some minor obfuscation). – Rob Napier Sep 10 '13 at 14:02
2 Answers
Just FYI you cannot secure the client 100%, it is better to put your sensitive data on a server, or you can do more security for the application itself, because if the hacker can physically access you device he will find his way to get the data.
For your question a good thing you can do is encrypting the data with the user's password and save this encrypted data in SQLLite, then save this password in the keychain.
I suggest to read below SO questions:

- 1
- 1

- 18,422
- 7
- 59
- 68
If you need to put secure data on iOS, Android, Windows, Mac OS X or Linux check out InterBase from Embarcadero: http://www.embarcadero.com/products/interbase. I think it is the only DB with strong encryption across all those platforms. It uses the same data storage across all of these platforms so one could simply copy the .gdb file between any platform.