资源简介

这是我工作了一天的成果,压缩包内包括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);
 

评论

共有 条评论