对SQLite3数据库的一些加密解密函数

 function SQLite3_Open_UTF8(const filename:PAnsiChar; var dbHandle: Pointer ):integer;  cdecl;
         external 'sqlite3.dll' name 'sqlite3_open';
  function SQLite3_Open_UTF16(const filename:PAnsiChar;var dbHandle:Pointer):Integer;cdecl;
           external 'sqlite3.dll' name 'sqlite3_open16';
  function SQLite3_Close(dbHandle:pointer):integer;cdecl; external 'sqlite3.dll'
           name 'sqlite3_close';

  function SQLite3_Key(dbHandle:Pointer; Key:PAnsiChar; keyLen:integer ):integer;cdecl;
           external 'sqlite3.dll' name 'sqlite3_key';
  function SQLite3_ReKey(dbHandle:Pointer; Key:PAnsiChar; KeyLen:integer):integer;cdecl;
           external 'sqlite3.dll' name 'sqlite3_rekey';

具体的其它函数可以看下wxsqlite3(开源)附带的说明。

以上函数说明:

       如果数据库没有密码,现在要设置:先open数据库,再用SQLite3_ReKey设置密码;
       如果数据库有密码,现在要修改密码,则先open数据库,再用SQLite3_Key输入原来的密码
         ,再用rekey设置新密码。
      如果想把加密后的数据库变成没有加密的,则先open数据库,再用SQLite3_Key输入原来的密
      码,再用SQLite3_ReKey(pdb,nil,0)即可。
      最后用SQLite3_Close(pdb)关闭即可

原文地址:https://www.cnblogs.com/yagzh2000/p/2865944.html