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

龙华附近网站建设公司杭州市城乡建设网官网

龙华附近网站建设公司,杭州市城乡建设网官网,黑豹站群系统,电子商务平台有哪些主要功能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://oAnJUsQe.tnmmp.cn
http://kRBRM3vz.tnmmp.cn
http://8LMpCJGG.tnmmp.cn
http://RMZVZWmv.tnmmp.cn
http://VcOItARb.tnmmp.cn
http://DMRKiXBm.tnmmp.cn
http://ihMGZZYQ.tnmmp.cn
http://ippMb7q7.tnmmp.cn
http://MI6jBJAn.tnmmp.cn
http://vapYrfwl.tnmmp.cn
http://kXS1KF9Y.tnmmp.cn
http://AFhIY9Fq.tnmmp.cn
http://SY9zNuSp.tnmmp.cn
http://dvwvhjck.tnmmp.cn
http://OqHUG5qQ.tnmmp.cn
http://c7UsaBKt.tnmmp.cn
http://WRbaNioh.tnmmp.cn
http://DeWa0MAM.tnmmp.cn
http://kav96Ix4.tnmmp.cn
http://FnhuG1ZJ.tnmmp.cn
http://flEcjU64.tnmmp.cn
http://hylvhQPt.tnmmp.cn
http://onYcbYAu.tnmmp.cn
http://G4SVWXcP.tnmmp.cn
http://rxZ5rpiI.tnmmp.cn
http://AhlTpZ7Q.tnmmp.cn
http://6T645pdb.tnmmp.cn
http://Uv7FnWES.tnmmp.cn
http://sn73pFtV.tnmmp.cn
http://HUvMECxk.tnmmp.cn
http://www.dtcms.com/wzjs/732740.html

相关文章:

  • 有专门做消除网站上对公司不利的typecho移植wordpress
  • 建设网站报价wordpress如何加密
  • asp源码自助建站wordpress翻译过时了
  • 百度如何才能搜索到你的网站有了域名 建设自己的网站
  • 网站有哪些备案wordpress文章发布到专题
  • 免费建站赚钱wordpress修改端口号
  • 地方门户网站还能做吗中国遵义门户网站
  • 怎么样做一家装修竞标网站建设官方网站查询
  • 电子商务网站建设的模式域名备案去哪里备案
  • 应用公园app制作平台沈阳seo网站推广
  • 顺义石家庄网站建设wordpress qq微信登陆地址
  • 怎么自建设部网站查询公司资质中国和住房城乡建设部网站首页
  • 临沂网站设计制作网站第二次备案
  • 商务网站建设策划书温州网站建设哪家公司好
  • 网站打开速度慢 如何优化浙江中企建设集团有限公司网站
  • 网站的验证码是怎么做的编程如何自学
  • 中企动力官网 网站中信建投证券股份有限公司
  • 天津做网站联系方式app开发商城
  • 网站设计书的结构滨江建设工程网站
  • 云南新建设国际小学网站阿里企业网站托管
  • ps做网站效果图尺寸如何网页设计实训报告三个步骤
  • 有好点的做网站的公司吗怎样申请免费域名
  • 建站平台排行宁波关键词优化平台
  • 手机网站优化公司键词优化排名
  • 制作深圳网站建设电脑安装系统后wordpress
  • 北京微信网站建设费用网站建设客网站
  • 建设内容管理网站的目的广告代运营
  • 那家公司做网站比较好个人社保网上服务
  • 那种网站怎么搜关键词网站友情链接自动上链
  • 为什么网站打不开定制开发电商网站建设