小编Sam*_*ill的帖子

SQLite 如何处理 iOS 中的加密?

iOS 中似乎有一些对 sqlite 加密的默认支持,但我找不到任何有关其工作原理的文档。在一个新的 iOS 项目中,我创建了一个新的 db 并key在创建表之前添加了编译指示。

import SQLite3

...

sqlite3_open_v2(docStr, &db, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, nil)
sqlite3_exec(db, "PRAGMA key = 'abc123';", nil, nil, nil)
sqlite3_exec(db, "CREATE TABLE Breed (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, favorite INTEGER NOT NULL DEFAULT 0 ); INSERT INTO Breed(name) VALUES ('Beagle');", nil, nil, nil);
Run Code Online (Sandbox Code Playgroud)

检查文件系统上的数据库,然后它似乎被加密了。正如我提到的,这是一个干净的项目,我没有添加 SQLCipher 或任何其他库。有没有办法知道使用 pragma 的扩展名/lib 以便我知道使用它是否有意义?

在 iPhone 11 模拟器上运行 iOS 13.2.2

sqlite ios

5
推荐指数
1
解决办法
425
查看次数

标签 统计

ios ×1

sqlite ×1