首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何知道sqlite数据库是否加密?

如何知道sqlite数据库是否加密?
EN

Stack Overflow用户
提问于 2013-06-27 13:20:21
回答 2查看 4.4K关注 0票数 3

正如您所知道的,我们可以使用sqlcipher加密数据库,我在android项目中使用它。出于某种原因,我不想再.use了。

通过使用sqlcipher_export来转换数据库。

所以我的问题是

  1. 是否有一个好的方法让我检查是否是数据库加密的,从而决定是否需要进行解密。

2,如果有意外的事情发生(迁移期间关闭),我能做什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-27 16:51:59

直接检查数据库文件的前16个字节,如果它们等于字符串"SQLite format 3\000“,则该文件没有加密,是一个标准的SQLite数据库。

如果在sqlcipher_export期间发生了一些事情,并且发生了崩溃,那么原始数据库将保持不变。只需在随后的启动时再次运行导出即可。

票数 4
EN

Stack Overflow用户

发布于 2018-02-06 15:03:30

将@StephenLombardos字符串"SQLite format 3\000“放入8字节计数器中将作为19 bytes返回

因此,虽然他的答案是正确的,但需要稍加修改。

我将读取第一个17字节,并检查它们是否等于"SQLite format 3\0"

如果上述语句为真,则db文件为未加密的

如果语句为false,则db文件是加密的

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17344345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档