Open casperson opened 5 years ago
As another comment, I tested rekey()
on an open, unencrypted database, and it didn't encrypt that database? Either I did something wrong, or that is not the correct functionality. In the original documentation for SQLCipher it doesn't do that.
For me, I have to call rekey twice for the sql file to get encrypted, is anyone else experiencing this
can you not just try to open it without setting a key?
As shown in this file below,
db.rekey()
will either change the key or it will encrypt a database with the key if it was not encrypted previously. Is there a way for me to check if the DB is encrypted before I calldb.rekey()
? I only want to rundb.rekey()
if the db isn't encrypted, just so it will get encrypted, but then in future cases, I will only want to usedb.key()
to access database. No need to change the key. It looks like there is an internal function calledcipher_key_check()
that checks that, any way to expose this somehow to make it an easy check? https://github.com/stephencelis/SQLite.swift/blob/861ff28adec8d175e7f5923340947f0895121416/Sources/SQLite/Extensions/Cipher.swift#L41