📄 crypt.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 + -