sqlite加密


記錄用wxsqlite實現sqlite加密。

 

1.編譯生成wxsqlite的lib庫

參考的網上一些博客資料建的工程,沒做記錄,忘了是那個博客的了。具體見工程源碼 

 

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直接連接:

image

輸入錯誤密碼:

image

密碼是4位的  abcd,我只輸入了一位,連接錯誤。

 

輸入正確密碼:

image

image

 

 

工程源碼:https://gitee.com/betterwgo/wxsqlite3_demo

注意wxsqlite.lib的位置


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM