ios - 如何以编程方式知道任何文件是否加密?- iPhone

标签 ios objective-c encryption

我在已经创建的应用程序的文档目录中有一个 sqlite 文件(它可能是加密的或未加密的),现在在更新版本中我必须检查它以进行解密,如果发现文件已加密,那么我们将使用它解密后发现未加密,我们就简单使用吧。

有什么办法吗?

最佳答案

根据 "The SQLite Database File Format" , 每个 SQLite 文件都以字节“SQLite format 3”开头,后跟一个 nul 终止符。

假设加密打乱了文件的所有字节,可以读取前16位 字节并检查它们是否与上面的字符串匹配。

但更简单的方法是使用 sqlite3_open() 或以下方法之一打开文件 相关公开电话。如果失败并显示错误代码 SQLITE_CORRUPT,您可以假设 该文件已加密,因此您将其解密并再次打开。

关于ios - 如何以编程方式知道任何文件是否加密?- iPhone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20017927/

相关文章:

iphone - Objective C ivars 或 @property

ssl - TLS:硬禁用密码与不列出密码

ios - 一些黑客可以破解我的 CFBundleDisplayName 吗?

objective-c - "applicationDidBecomeActive"时帧变化

ios - 获取已保存照片的 block 值

android - 在 AndroidManifest 中存储加密值

javascript - 这是有效的 id 属性吗?如果是的话为什么 javascript 不能理解这一点

ios - NSFileManager 如何返回文件路径的文件夹名称

ios - Flutter:该应用程序不是为 iOS 构建的

ios - 通过扩展 UIButton 类,使用 Swift 创建自定义按钮