确定(标称)SqlCipher数据库是否实际加密(在iOS中)是最干净,最有效的方法。请注意,技术here不适用于SqlCipher - “SQLite格式3”前缀无论是否加密都是有效的。
显而易见的方法是打开数据库,对其进行操作,并查看返回代码是否为SQLITE_NOTADB。但目前还不清楚尝试什么操作。
已添加:嗯...显然SqlCipher的某些版本不保留文件前缀。
答案 0 :(得分:0)
SQLCipher在文件的前16个字节中存储唯一的随机盐。如果您获得SQLite format 3\000
并且内容仍然是加密的,则可能不是SQLCipher加密数据库。
最后,您还可以发出hexdump -C YourDatabase.db
并检查输出,纯文本数据库将包含输出中的可见模式。