⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 crypt.cpp

📁 命令行下调用SQLite3.dll加密/解密SQLite
💻 CPP
字号:
// name: Crypt.cpp
// This prog is used to encrypt/decrypt C/C++ API for sqlite3 .
// data : 2009/01/15

#include <stdio.h>
#include <stdlib.h>
#include "string.h"
#include "sqlite3.h" 
#define _DEBUG_

//主函数(带参数:数据库文件名含绝对路径、读或写密钥、新写密钥或解密用固定密钥)
int main(int argc , char *argv[])
{
  sqlite3 *db = NULL;
  char *dbname;
  char *passwd;
  char *key;

  if((argc>=2) && (argc<=4))
  {
    dbname = argv[1];

	  //打开指定的数据库文件,如果不存在将创建一个同名的数据库文件
    if(sqlite3_open(dbname, &db)==0)
	  {
   //加密数据库
	    if(argc==3)
	    {
	      passwd = argv[2];
	      sqlite3_rekey(db, passwd, strlen(passwd));
	    }

	    if(argc==4)
	    {
		    passwd = argv[2];
        if(sqlite3_key(db, passwd, strlen(passwd))==0)
        {
		      key = argv[3];
          //解密数据库
	        if(strcmp(key,"winton_0451-83027110")==0)
	          sqlite3_rekey(db,NULL,0);
	        //更换新密钥
          else
	          sqlite3_rekey(db, key, strlen(key));
        }
	    }
	  }
    sqlite3_close(db); //关闭数据库
  }
  return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -