众所周知,我们可以使用sqlcipher加密数据库,并在android项目中使用它。出于某种原因,我不想再使用它了。
使用sqlcipher_export转换数据库。
所以我的问题是
2,如果发生意外事件(迁移期间关机),我该怎么办?
答案 0 :(得分:4)
直接检查数据库文件的前16个字节,如果它们等于字符串“SQLite format 3 \ 000”,则文件未加密,并且是标准的SQLite数据库。
如果在sqlcipher_export期间发生了某些事情并且发生了崩溃,原始数据库将保持不变。只需在后续发布时再次运行导出。
答案 1 :(得分:0)
将@StephenLombardos字符串" SQLite格式3 \ 000"进入UTF-8 byte counter的回复为19 bytes
因此,虽然他的答案是正确的,但需要稍作修改。
我会读取第一个 17个字节并检查它们是否等于" SQLite格式3 \ 0"
如果上述陈述为真,则您的db文件为未加密
如果声明为false,则您的db文件为加密