sqlite加密-QtCipherSqlitePlugin 下

1、如果只是安装了插件有时是不够的

cpp 复制代码
QCoreApplication::addLibraryPath

需要将插件目录添加到程序中

2、建立一个不加密的db文件

3、设置密码

cpp 复制代码
QString DB_FILE_PATH="d:"; //防止驱动目录乱码
DB_FILE_PATH+="/testCipher.db";
qDebug() << "DB File Path is:" << DB_FILE_PATH;

QSqlDatabase dbconn = QSqlDatabase::addDatabase("SQLITECIPHER");
dbconn.setDatabaseName(DB_FILE_PATH); 
dbconn.setPassword("pass");
dbconn.setConnectOptions("QSQLITE_USE_CIPHER=sqlcipher; SQLCIPHER_LEGACY=1; SQLCIPHER_LEGACY_PAGE_SIZE=4096; QSQLITE_CREATE_KEY");

bool open = dbconn.open();
qDebug() << "open: " << open;
qDebug() << "isOpen(): " << dbconn.isOpen() << dbconn.isOpenError();
qDebug() << "create_key: " << dbconn.lastError();

if (!dbconn.isOpen())
{
        qDebug() << "Connection failed: " << dbconn.lastError().driverText();
        exit(CONNECTION_FAILED);
}

4、注意:不要多次设置密码

相关推荐
apihz12 小时前
反向DNS查询与蜘蛛验证免费API接口详细教程
android·开发语言·数据库·网络协议·tcp/ip·dubbo
高山上有一只小老虎12 小时前
判断是否为数独数组
java·算法
TDengine (老段)12 小时前
TDengine 存储引擎:极速、高压缩、零冗余
android·大数据·数据库·设计模式·时序数据库·tdengine·涛思数据
玩具猴_wjh12 小时前
MongoDB
数据库·mongodb
宝贝儿好12 小时前
【强化学习】第二章:老虎机问题、ε-greedy算法、指数移动平均
人工智能·python·算法
九章-12 小时前
平滑替换:大唐经研院经济评价系统成功完成国产化迁移
数据库·安全·政务
CoovallyAIHub12 小时前
超越深度学习:量子优化如何通过算法与硬件重塑AI
深度学习·算法·计算机视觉
w_zero_one12 小时前
ArkTS鸿蒙--关系型数据库的级联
数据库·harmonyos
mit6.82412 小时前
模拟|str_dp
算法
前端小L12 小时前
回溯算法专题(九):棋盘上的巅峰对决——经典「N 皇后」问题
数据结构·算法