Hi @Nocs
We are happy to hear you have made some progress from the previous thread! I’d like to touch base on a couple of your comments below:
SQLCipher does require some additional steps in order to encrypt an existing plain-text SQLite database beyond opening the database, keying it, etc. @brodybits has already included a link to a detailed post by @sjlombardo that covers the migration process from a plain-text SQLite database to an encrypted SQLCipher database. Also, since you may be new to SQLCipher, you might considering reviewing some of our public documentation here, we detail the SQLCipher specific API here.
Very little occurs within SQLCipher when calling sqlite3_key
, in fact no decryption occurs once that function has been invoked as it is deferred until a SQL statement is invoked. We recommend folks invoke the following query after keying a database to verify that no errors occur, the sqlite_master
table is guaranteed to exist even if your application schema is not in place.
SELECT COUNT(*) FROM sqlite_master;
Can you try those approaches and let us know if the behavior within your application changes? Thanks!