当前位置: 首页 > wzjs >正文

为wordpress创建一个ftp北京seo加盟

为wordpress创建一个ftp,北京seo加盟,企业微信营销系统,wordpress有广告QT使用WxSQLite3打开加密数据库并查询 这篇文章主要目的是让大家快速实现打开加密sqlite数据库的功能,并没有对其中所用的库进行详细说明,还请见谅 一、SQLite3MultipleCiphers 这个库集成了多种wxsqlite的加密算法,可以通过在代码中随意切…

QT使用WxSQLite3打开加密数据库并查询

这篇文章主要目的是让大家快速实现打开加密sqlite数据库的功能,并没有对其中所用的库进行详细说明,还请见谅

一、SQLite3MultipleCiphers

这个库集成了多种wxsqlite的加密算法,可以通过在代码中随意切换不同的加密算法。
github地址:https://github.com/utelle/SQLite3MultipleCiphers?tab=readme-ov-file

编译

我使用的是release 2.1.2版本的源码。
直接在vscode中打开使用cmake构建,选择和你QT项目对应的编译工具,CMakeLists基本不用修改,直接编译就行了。,
编译完成后得到:

libsqlite3mc.dll
libsqlite3mc.dll.a

头文件我是从sqlite3mc-2.1.2-sqlite-3.50.0-win32.zip中获取的
https://github.com/utelle/SQLite3MultipleCiphers/releases/download/v2.1.2/sqlite3mc-2.1.2-sqlite-3.50.0-win32.zip

二、QT中实现

引用libsqlite3mc

在.pro文件中添加如下,我把libsqlite3mc.dll.a放在项目目录的libs文件夹中

LIBS += -L$$PWD/libs -llibsqlite3mc.dll

头文件引用:

#放在项目目录的utils/wxsqlite文件夹中
INCLUDEPATH += $$PWD/utils/wxsqlite

不要忘了libsqlite3mc.dll要放在编译出来的测试程序目录下哦

功能代码-打开数据库测试

部分代码由AI生成

// 加密算法类型
QList<QString> CODEC_TYPE_NAME_LIST = {"AEGIS", "Ascon-128", "SQLCipher", "System.Data.SQLite: RC4", "ChaCha20", "wxSQLite3: AES 128 Bit", "wxSQLite3: AES 256 Bit"};
QList<QString> CODEC_TYPE_LIST = {"aegis", "ascon128", "sqlcipher", "rc4", "chacha20", "aes128", "aes256"};sqlite3* db;
// db_path是数据库文件路径
if (SQLITE_OK != sqlite3_open(db_path.toStdString().c_str(), &db)) {ui->label_test_status->setText(tr("数据库打开失败"));return;
}// 设置密码
bool result = true;
// cipher是加密算法类型
std::string cipher = CODEC_TYPE_LIST[ui->comboBox_codec_type->currentIndex()].toStdString().c_str();
std::string pragma = "PRAGMA cipher = '" + cipher + "';";
result &= SQLITE_OK == sqlite3_exec(db, pragma.c_str(), nullptr, nullptr, nullptr);
pragma = "PRAGMA key = '" + password.toStdString() + "';";
result &= SQLITE_OK == sqlite3_exec(db, pragma.c_str(), nullptr, nullptr, nullptr);
if (!result) {ui->label_test_status->setText(tr("设置密码失败"));return;
}char* errMsg = nullptr;
// 执行查询
const char* sql = "SELECT name FROM sqlite_master WHERE type='table';";
if (sqlite3_exec(db, sql, nullptr, nullptr, &errMsg) != SQLITE_OK) {ui->label_test_status->setText(errMsg);sqlite3_free(errMsg);
} else {ui->label_test_status->setText(tr("测试成功"));
}// 关闭数据库
sqlite3_close(db);

简单地写一个QT界面:在这里插入图片描述

测试Demo

只要成功打开了数据库后续的操作就是传统的sqlite代码了,这有一个简单的demo,大家有需要的可以下载试试看,有问题可以评论交流一下。
https://gitee.com/gjhjsan/qt-wxsqlite3-demo
在这里插入图片描述

http://www.dtcms.com/wzjs/360199.html

相关文章:

  • 怎么做游戏充值代理网站网络广告投放公司
  • 有什么网站可以做3d竞价托管咨询微竞价
  • 网站排名提升软件seo推广教程视频
  • 网站开发建设费用太原百度快照优化排名
  • 无锡公共建设中心网站免费快速网站
  • 阿里云 个人网站长沙网站推广智投未来
  • 怎么做跨境电商网站岳阳网站设计
  • 做h5单页的网站企业网站推广有哪些
  • 南通网站建设入门宁波seo搜索引擎优化
  • 安溪哪里有学做网站营销
  • 平湖模板网站建设公司开发软件app需要多少钱
  • 做一个软件大概要多少钱武汉seo主管
  • wordpress ajax分页插件重庆seo快速优化
  • 怎样维护公司网站平台推广精准客源
  • 企业网站和展板建设网站设计说明
  • 湖南定制响应式网站有哪些自己做一个网站需要多少钱
  • 什么网站专门做自由行的如何提高seo关键词排名
  • 政府网站 英文版 建设 需求新闻发稿公司
  • 网站建设与管理技术发展免费推广公司
  • 邯郸网站开发关键词推广系统
  • 个人的网站怎么备案关键词排名点击软件
  • 西安网站建设运维可以免费推广的网站
  • 宿迁网站建设免费发外链
  • 建设银行网站可以查保单吗企业邮箱登录
  • wordpress 视频付费插件seo快速优化文章排名
  • 合肥网站建设首选 晨飞网络快速提高关键词排名的软件
  • 平阴市住房和城乡建设局网站兰州模板网站seo价格
  • 做网站插背景图片如何变大百度竞价包年推广是怎么回事
  • 专业网站建设公司 1861webseo标题关键词优化
  • 网站服务费什么是电商?电商怎么做