找回密码  加入

QQ登录

只需一步,快速开始

AUTOIT CN

搜索
查看: 102|回复: 1

[系统综合] SQLite3 加密 Win10 x64 环境测试成功

[复制链接]
发表于 2019-11-25 15:40:24 | 显示全部楼层 |阅读模式
本帖最后由 w60711 于 2019-11-25 15:40 编辑

不知道版区放得对不对,
如果错放还请版大协助移动
感谢了~

找了SQLite3的加密方法很久
终于在今天成功了~

代码以风行者大的代码做修改
放上来备忘以及让需要的人参考看看^^"

验证 成功加密:
ˋˋ直接开启会显示错误


输入连线祕法后就可以开启了


成功读取到资料


  1. #CS
  2.         源码修改自:                风行者          大大 https://autoit8.com/forum.php?mod=viewthread&tid=31849&highlight=SQLITE%2B%BC%D3%C3%DC&_dsign=d7eb58c1
  3.         Release_AES来自:nmgwddj 大大 https://autoit8.com/forum.php?mod=redirect&goto=findpost&ptid=55857&pid=684954&fromuid=7662477

  4.         运行环境:
  5.                 Windows 10 教育版 x64 1903
  6. #CE


  7. #include <sqlite.au3>
  8. #include <sqlite.dll.au3>
  9. #include "Inc\SQLite_key.au3"
  10. #include <EditConstants.au3>
  11. #include <GuiConstantsEx.au3>
  12. #include <WindowsConstants.au3>


  13. Global $SQLite_Dll = @ScriptDir & "\Lib\Release_AES128\sqlite3.dll"
  14. Global $SQLite_Dll64 = @ScriptDir & "\Lib\Release_AES128\sqlite3_x64.dll"
  15. Global $dbPath = @ScriptDir & "\test.db"
  16. Global $iMemo


  17. _Initdata()


  18. Func _Initdata()
  19.         $hGUI = GUICreate("SQLite3 加密例子", 400, 300)
  20.         $iMemo = GUICtrlCreateEdit("", 2, 2, 396, 296, BitOR($ES_READONLY, $ES_AUTOVSCROLL))
  21.         GUISetState()

  22.         ;;Load sqlite dll
  23.         _SQLite_Startup($SQLite_Dll, True, 1)
  24.         If @error Then
  25.                 _SQLite_Startup($SQLite_Dll64, True, 1)
  26.                 If @error Then Exit (MsgBox(16, "SQLite Error", "Can't load SQLite3.dll!"))
  27.                 _SQLite_OpenDll($SQLite_Dll64)
  28.         Else
  29.                 _SQLite_OpenDll($SQLite_Dll)
  30.         EndIf

  31.         GUICtrlSetData($iMemo, "_SQLite_LibVersion = " & _SQLite_LibVersion() & @CRLF & @CRLF, 1)

  32.         ;;Open DB
  33.         $sDB = _SQLite_Open($dbPath)
  34.         _SQLite_key($sDB,'12345abc')
  35.         If @error Then Exit (MsgBox(16, "SQLite Error", "Can't load Database!"))
  36.         If Not FileExists($dbPath) Or FileGetSize($dbPath) = 0 Then
  37.                 ; 无结果查询中不带$sCallback
  38.                 _SQLite_Exec(-1,"Create table tblTest (a,b int,c single not null);" & _
  39.                                                 "Insert into tblTest values ('1',2,3);" & _
  40.                                                 "Insert into tblTest values (Null,5,6);")
  41.         EndIf

  42.         _SQLite_Exec(-1,"Select oid,* From tblTest", "_cb") ; _cb将被每行调用

  43.         ; 循环至用户退出
  44.         Do
  45.         Until GUIGetMsg() = $GUI_EVENT_CLOSE
  46.         GUIDelete()
  47.         _SQLite_Close()
  48.         _SQLite_Shutdown()
  49. EndFunc        ;==>_Initdata


  50. Func _cb($aRow)
  51.         For $s In $aRow
  52.                 memowrite($s & @TAB)
  53.         Next
  54.         memowrite(@LF)
  55.         ; 返回$SQLITE_ABORT ; 将退出并导致_SQLite_Exec()出错的操作
  56. EndFunc


  57. Func memowrite($s_text)
  58.         GUICtrlSetData($iMemo, $s_text & @CR, 1)
  59. EndFunc   ;==>memowrite

复制代码




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入

x
发表于 2019-11-26 22:21:04 | 显示全部楼层
学习了,正在使用SQLite3
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|小黑屋|手机版|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2019-12-10 02:19 , Processed in 0.062502 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表