資源簡介
這是我工作了一天的成果,壓縮包內包括Qt sqlite加密驅動所有的代碼,以及一個調用例程,還有一個sqlite3shell.exe工具,用于加密數據庫命令行下的分析。
使用這個加密驅動很簡單,只需以下3步:
1. 將驅動的代碼復制到你的app文件夾(共2個文件夾)
2. 在app的pro文件中加入
include(wxsqlite3/wxsqlite3.pri)
include(zsqlitecipherdriver/zsqlitecipherdriver.pri)
3. 在需要的地方加入#include "zsqlitecip
代碼片段和文件信息
#include?
#include?
#include?se>
#include?
#include?
#include?
/**
?*?@brief?isDbDecrypted
?*?Sqlite似乎沒有提供判斷密碼是否正確的函數,可用本函數檢查一個打開了的數據庫
?*?是否被成功解密了。
?*
?*?@param?db
?*?@return
?*/
bool?isDbDecrypted(QSqlDatabase?&db)
{
????QSqlQuery?query(db);
????return?query.exec(“select?namesql?from?sqlite_master“
??????????????????????“?where?type?=?‘table‘“);
}
/**
?*?@brief?changePassword
?*?對已經成功打開了的數據庫修改密碼。注意:
?*?1.?如果數據庫還未用正確密碼打開,是無法使用本函數修改密碼的。
?*?2.?如果數據庫文件比較大,修改密碼可能需要消耗比較長的時間(需要將所有的數據重新加密)。
?*?3.?密碼支持的字符,這里未測試,但是單引號肯定是不能用在密碼中的。
?*
?*?@param?db
?*?@param?newPassword
?*?@return?返回密碼是否修改成功
?*/
bool?changePassword(
????????QSqlDatabase?&db?const?QString?&newPassword)
{
????QSqlQuery?query(db);
?
- 上一篇:Oracle開發實戰經典 源代碼
- 下一篇:只有mdf和ldf文件 如何恢復數據庫
評論
共有 條評論