Ios 确定SqlCipher DB是否加密的最干净方法

Ios 确定SqlCipher DB是否加密的最干净方法,ios,sqlite,sqlcipher,Ios,Sqlite,Sqlcipher,确定(名义上)SqlCipher数据库是否实际加密(在iOS中)的最干净、最有效的方法是什么。请注意,该技术不适用于SqlCipher——“SQLite format 3”前缀无论是否加密都有效 显而易见的方法是打开数据库,尝试对其进行操作,然后查看返回代码是否为SQLITE_NOTADB。但目前还不清楚该采取什么行动 添加:Hmmm。。。显然,某些版本的SqlCipher不保留文件前缀。SqlCipher在文件的前16个字节中存储唯一的随机salt。如果您获得的是SQLite format 3

确定(名义上)SqlCipher数据库是否实际加密(在iOS中)的最干净、最有效的方法是什么。请注意,该技术不适用于SqlCipher——“SQLite format 3”前缀无论是否加密都有效

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


添加:Hmmm。。。显然,某些版本的SqlCipher不保留文件前缀。

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

最后,您还可以发出一个
hextump-cyourdatabase.db
并检查输出,纯文本数据库将包含来自输出的可见模式