加密版sqlite庫編譯詳見我的另一篇文章《sqlite庫學習(2)編譯加密版的sqlite》,裏面有源碼。
對sqlite加密,首先需要得到sqlite對象指針,就是先使用sqlite3_open打開或創建數據庫文件,然後使用sqlite3_key函數。
如果是創建數據庫,sqlite3_key就是設置密碼;如果是打開數據庫,sqlite3_key就是解密。刪除數據庫的密碼,先解密後,設置sqlite3_rekey密碼爲空即可。
int DB_SetKey(sqlite3 *db,const char * key)
{
int result;
result = sqlite3_key(db, key, strlen(key));
return result;
}
int DB_RemoveKey(sqlite3 *db,const char * key)
{
int result;
result = sqlite3_key(db, key, strlen(key));
result = sqlite3_rekey(db,"", 0);
}