?? 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 + -