<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      使用wxsqlite3加密解密數據庫(不用管報錯)

      按照網上說的配置發現有報錯,一開始一直在調試報錯,調了半天一直有錯誤,最后忍不住直接運行,沒想到成功了。。。

      有些模塊的報錯不用管,應該是vs檢查太嚴格或者出錯了。

      1、下載wxsqlite3(推薦4.5.1)

      后面版本的加密功能好像有變動,如果要打開之前加密的數據庫需要注意版本對應

      可以到這里下載各個版本的wxsqlite3:

      https://github.com/utelle/wxsqlite3/releases

      我下的是wxsqlite4.5.1,配套的sqlite3是3.31.1

       

      后面版的加密功能好像有變化,官網是這么說的(https://github.com/utelle/wxsqlite3)

      With the release of SQLite version 3.32.0 on May 22, 2020 critical changes to the public SQLite code finally took officially effect, although they weren't officially announced. They were introduced on Feb 7, 2020: "Simplify the code by removing the unsupported and undocumented SQLITE_HAS_CODEC compile-time option". As a consequence, updating the wxSQLite3 encryption extension to support SQLite version 3.32.0 and later was no longer possible.

      Since August 2020 a new implementation of an encryption extension, capable of supporting SQLite version 3.32.0 and later, is available as a separate project, SQLite3 Multiple Ciphers. Starting with the release of wxSQLite3 4.6.0 this new implementation is used.

       

      2、解壓拷貝sqlite3secure/src

      解壓后有個build文件夾,里面有sln可以用vs打開對應版本的解決方案直接編譯成lib使用(vs2012對應vc11,以此類推)

      但是我用編譯的lib好像無法使用,不知道哪里出問題了,我還是直接跑源代碼算了

      vs新建一個console項目,可以叫sqlite3Encrypt,拷貝sqlite3secure/src下面的所有文件到項目文件夾,

      這個版本自帶sqlite3.c,不用額外下載了。

       

      3、添加qlite3.h和sqlite3secure.c

      這是關鍵的一步,只添加這兩個文件到工程里面就可以了,不要添加其他模塊,其他模塊報錯也不用管,可以直接運行

       

      4、添加預處理器SQLITE_HAS_CODEC

      一般添加這一個預定義就可以了,如果還有缺的可以自己補。

       

      5、調用加密/解密函數

      沒錯,這時候就可以直接加密/解密數據庫了,其實很簡單。

      要注意的是,加密和解密都要在sqlite3_open之后立即執行,中間不能做其他操作。

      加密函數: sqlite3_rekey(db, "字符串密碼", n); //n是字符串密碼長度

      解密: nRet = sqlite3_key(db, "字符串密碼", n);

      取消密碼:

      C++:sqlite3_rekey(pDb, nullptr, 0);

      C:nRet = sqlite3_rekey(pDb, NULL, 0);

      其實就是rekey一個空密碼。

       

      wxsqlite3預編譯的shell也可以在命令行打開解密的數據庫,用pragma key="密碼"

      但是我這個數據庫打開還是有問題,好像還有個write密碼。

      另外有個sqliteStudio也可以打開加密數據庫,添加數據庫時選擇wxsqlite輸入密碼就可以了。

      posted @ 2022-09-17 10:39  科學修行的紅客  閱讀(1694)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产成人欧美一区二区三区在线 | 人妻少妇看a偷人无码| 18岁日韩内射颜射午夜久久成人| 99久久国产一区二区三区| 日本欧美大码a在线观看| 亚洲AV无码破坏版在线观看| 亚洲色www成人永久网址| 午夜免费福利小电影| 国偷自产一区二区三区在线视频| 国产一区二区三区禁18| 高清无码午夜福利视频| 亚洲精品国产无套在线观| 国产一区二区高清不卡| 精品一区精品二区制服| 午夜精品福利亚洲国产| 伊人久久久av老熟妇色| 亚洲岛国成人免费av| 日本japanese丰满白浆| 99国产精品欧美一区二区三区| 亚洲色大成网站www久久九| 免费看的日韩精品黄色片| 国产免费无遮挡吃奶视频| 国产中文三级全黄| 久久99精品国产麻豆婷婷| 菠萝菠萝蜜午夜视频在线播放观看| 午夜射精日本三级| 国产三级黄色的在线观看| 亚洲丰满熟女一区二区v| 亚洲精品国产综合久久一线| 无码av最新无码av专区| 99RE6在线观看国产精品| 欧美人与性动交ccoo| 91精品国产一二三产区| 亚洲偷自拍国综合| 浮妇高潮喷白浆视频| 亚洲精品动漫一区二区三| 色五月丁香六月欧美综合| 精品国产午夜福利理论片| 国产一区二区三区的视频| 丝袜老师办公室里做好紧好爽| 四虎成人精品无码|