using SQLCipher with android shipped sqlite database file

前端 未结 3 1202
无人共我
无人共我 2020-12-09 23:21

I have a database file reset in the assets file.

How can I use SQLCipher to encrypt the database in android?

3条回答
  •  甜味超标
    2020-12-09 23:53

    This is going to be a bit complicated. Since the database file format is different between SQLite and SQLCipher for Android, and since you want to ship an unencrypted database, you will have to do a few things.

    First, I'd get SQLiteAssetHelper going, to deliver the unencrypted database to your environment.

    Then, use standard SQLCipher for Android to create an empty-but-encrypted database.

    Next, you will need to implement the code to copy the data out of the packaged-but-unencrypted database and insert it into the empty-but-encrypted database.

    Once that is all done, you can close and delete the packaged-but-unencrypted database and just use the encrypted one.

    This might make a useful extension to SQLiteAssetHelper, someday...

提交回复
热议问题