• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • Sqlite庫學習(2)編譯加密版的sqlite

    標簽: sqlite  C語言  源代碼  數據庫  

     

    1、wxSqlite介紹

    我們在使用mysql等其他數據庫時需要輸入用戶名和密碼,但是sqlite數據庫就是一個文件,使用navicat、sqlitebrowser等軟件就可以直接打開數據庫查看,沒有一點保護措施。如果在開發中,我們不希望別人知道數據庫里面的內容,那么就需要加密版的sqlite庫,也就是wxsqlite。

    實際上wxsqlite不僅包含加密功能,還包含字符轉換和用戶授權等功能。

    2、wxSqlite編譯成動態庫

    這里用Qt Creator穿件工程,編譯得到wxsqlite動態庫。

    (1)下載地址

    https://download.csdn.net/download/no2101/12415973

    (2)pro文件添加頭文件和源文件

    SOURCES += \
    
        sqlite3secure.c
    
    
    
    HEADERS += \
    
        sqlite3ext.h \
    
        sqlite3userauth.h

    不要添加其他文件了,否則編譯有問題。

    (3)windows平臺下添加模定義文件

    win32{
    
        DEF_FILE = sqlite3.def
    
    }

    (4)添加定義

    DEFINES  += SQLITE3_EXPORTS SQLITE_HAS_CODEC
    
    DEFINES  += CODEC_TYPE=CODEC_TYPE_AES128 SQLITE_CORE
    
    //這就是加密算法
    
    // #define CODEC_TYPE_AES128    1
    //#define CODEC_TYPE_AES256    2
    
    //#define CODEC_TYPE_CHACHA20  3
    
    //#define CODEC_TYPE_SQLCIPHER 4
    
    //#define CODEC_TYPE_MAX       4
    
    
    
    DEFINES  += SQLITE_SECURE_DELETE SQLITE_ENABLE_COLUMN_METADATA SQLITE_ENABLE_RTREE SQLITE_USER_AUTHENTICATION

     

    版權聲明:本文為no2101原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/no2101/article/details/106104279

    智能推薦

    SQLite數據庫的增刪改查(2)

    一、MyOpenhelper 類   二、UI搭建   三、具體邏輯(代碼如下)  ...

    編譯出帶加密功能的 SQLite Qt 插件并用SQLiteStudio進行查看

    編譯出帶加密功能的 SQLite Qt 插件并且用SQLiteStudio查看加密后的數據庫 原作者的: 博客地址:https://www.devbean.net/2012/07/qt-sqlite-plugin-with-encryption/ github地址:https://github.com/devbean/QtCipherSqlitePlugin 截止2021年1月,QtCipherS...

    Qt 的sqlite數據庫的學習

    我們先了解一下基本的類:QSqlDatabase 提供數據庫的連接操作,QSqlQuery是執行Sql語句的類,如: QSqlQueryquery(db); query.exec("insertintopersonvalues(101,'Danny','Young')"); 下面是如何創建一個數據庫以及一個數據表。     當然我們一定要記住這個順序,先創建...

    SQLite 學習

    首先簡單介紹一下SQLite數據庫:SQLite是一款輕型數據庫,占用資源非常低,并且其簡單語句的處理性能比Mysql和Postgresql 都要快。對于像android手機這樣內存有限的設備而言,SQlite數據庫理所當然的成為Android平臺開發者處理數據的首先,并且其數據庫單文件的特性也使得在Android中操作數據庫更加靈活。SQLite非常健壯,據說其創建者保守估計SQLite可以處理...

    SQLite學習

    創建數據庫 添加數據 修改數據 刪除數據 查詢數據 創建一個名為BookStore.db的數據庫 adb shell環境配置 adb shell命令操作 升級數據庫 添加數據 更新數據 刪除數據 查詢數據...

    猜你喜歡

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    精品国产乱码久久久久久蜜桃不卡