記錄用wxsqlite實現sqlite加密。git
1.編譯生成wxsqlite的lib庫sql
參考的網上一些博客資料建的工程,沒作記錄,忘了是那個博客的了。具體見工程源碼 緩存
2.測試性能
測試代碼:測試
#include "stdafx.h" #include "sqlite3.h" #pragma comment(lib,"wxsqlite3.lib") int _tmain(int argc, _TCHAR* argv[]) { int result=0; sqlite3 *db=NULL; result=sqlite3_open("test.db",&db); result=sqlite3_key(db,"abcd",4); //使用密碼,第一次爲設置密碼 //result=sqlite3_rekey(db,NULL,0); //清空密碼 result=sqlite3_exec(db,"PRAGMA synchronous = OFF",0,0,0); //提升性能 result=sqlite3_exec(db,"PRAGMA cache_size = 8000",0,0,0); //加大緩存 result=sqlite3_exec(db,"PRAGMA count_changes = 1",0,0,0); //返回改變記錄數 result=sqlite3_exec(db,"PRAGMA case_sensitive_like = 1",0,0,0); //支持中文LIKE查詢 result=sqlite3_exec(db,"CREATE TABLE [MyTable] ([ID] INTEGER PRIMARY KEY NOT NULL,[MyText] TEXT NULL)",0,0,0); return 0; }
測試加密狀況:加密
Navicat直接鏈接:spa
輸入錯誤密碼:code
密碼是4位的 abcd,我只輸入了一位,鏈接錯誤。sqlite
輸入正確密碼:blog
工程源碼:https://gitee.com/betterwgo/wxsqlite3_demo
注意wxsqlite.lib的位置