确定SqlCipher DB是否加密的最简洁方法

时间:2013-08-23 20:17:09

标签: ios sqlite sqlcipher

确定(标称)SqlCipher数据库是否实际加密(在iOS中)是最干净,最有效的方法。请注意,技术here不适用于SqlCipher - “SQLite格式3”前缀无论是否加密都是有效的。

显而易见的方法是打开数据库,对其进行操作,并查看返回代码是否为SQLITE_NOTADB。但目前还不清楚尝试什么操作。

已添加:嗯...显然SqlCipher的某些版本不保留文件前缀。

1 个答案:

答案 0 :(得分:0)

SQLCipher在文件的前16个字节中存储唯一的随机盐。如果您获得SQLite format 3\000并且内容仍然是加密的,则可能不是SQLCipher加密数据库。

最后,您还可以发出hexdump -C YourDatabase.db并检查输出,纯文本数据库将包含输出中的可见模式。