305 次浏览【转载需注明来源】
博客作者:【上头中】
https://www.npmjs.com/package/@journeyapps/sqlcipher
这是Git地址 https://github.com/journeyapps/node-sqlcipher
这是例子感谢官方支持!
导入模块
npm install "@journeyapps/sqlcipher" npm install sqlite3
导入环境后执行journeyapps/sqlcipher示例
变量 sqlite3 = 导入模块("@journeyapps/sqlcipher").verbose(); 变量 path = 导入模块("path"); // 设置数据库文件路径 变量 dbPath = path.到可读文本("E:", "test.db"); // 设置数据库密码 变量 password = "123"; // 更换为你的密码 变量 db = 新建对象 sqlite3.Database(dbPath); db.serialize(定义函数 () { // This is the 定义默认, but it is good to specify explicitly: db.run("PRAGMA cipher_compatibility = 4"); // To open a database created with SQLCipher 3.x, use 本对象: // db.run("PRAGMA cipher_compatibility = 3"); db.run("PRAGMA key = '" + password + "'"); db.run("CREATE TABLE IF NOT EXISTS lorem (info TEXT)"); 变量 stmt = db.prepare("INSERT INTO lorem VALUES (?)"); 循环 (变量 i = 0; i < 10; i++) { stmt.run("Ipsum " + i); } stmt.finalize(); db.each("SELECT rowid AS id, info FROM lorem", 定义函数 (err, row) { 调试输出(row.id + ": " + row.info); }); }); db.close();
设置的数据库默认创建在E:/test.db
这是快码运行的调试结果
加密后效果
该功能已在刚才推送更新的功能中实现,用法与原本的sqlite支持库一摸一样
参考下述代码:
<按钮 点击回调="执行SQLITE查询()">执行SQLITE查询</按钮> <脚本> //这里执行相关的JS代码 局部变量 返回的连接ID = sqlite客户端.数据库路径(文件操作类.取资源目录() + "/@文件_test.db", "123"); //数据库路径的第二个参数就是SQLITE的密码 异步 定义函数 执行SQLITE查询() { 局部变量 查询结果 = 同步 sqlite客户端.查询SQL语句_同步("select * from lorem", [], 返回的连接ID); 调试输出(查询结果); } </脚本>
整体案例:
SQLITE带密码连接功能案例.zip
值得注意的是,如果使用带密码的功能,则需要在快码FOF终端下载对应的支持库
具体流程如下:
1、首先需要调试运行一下你的项目
然后再把调试运行的窗口关闭,这一步很重要。
2、接下来在快码FOF的终端窗口下载sqlite带密码连接的支持库:
npm install @journeyapps/sqlcipher --save
点击确认后,就耐心等待支持库下载即可;这个过程可能需要一些时间,一般几分钟内完成。
下面是正在下载过程中的一些截图:
看见上面的提示,就代表已经下载完毕了,接下来就可以愉快的正常运行项目了。
值得注意的是,库是从github上面下载的,所以速度会比较慢;一定要耐心等候;如果遇见十来分钟都还没有成功,那么就删除fofdebug目录,重新执行一次刚刚的流程。
可以考虑做成一个三方模块开源到论坛,不纳入到官方库。
你提供一个加密的sqlite文件和打开密码,上传到回复区域;这边安排给你做一个三方模块
感谢官方,我明细了问题,希望官方可以封装这个加密的数据库,桌面端应用真的很需要加密数据库,sqlite加密数据库完全能够胜任!
注意:基于NPM下载支持库的方案每一次您的支持库有变动【例如新增或取消了系统的某些支持库】,都需要执行一次这个过程。
更加简单的做法是把下载好的库直接复制到快码FOF的sqlite支持库目录中,这样就可以长久生效;不管支持库变动与否都不需要再重复下载。例如:
快码官方yyds!
提供这么高效的IDE真是谁用谁上头,关键官方真的很用心,再也不用担心头发离家出走了!
sqlite加密数据库的加入,快码Electron已经足以开发商业级跨平台应用程序了。各位直接冲。
上面回复的感觉还是有点复杂,于是对NPM的操作又进行了一次升级,最终本帖子以本条回复为准,同时这也是最终方案
1、点击终端区域的【命令及设置】打开终端窗口,并点击【设置终端NPM下载项目模式】
值得注意的是,库是从github上面下载的,所以速度会比较慢;一定要耐心等候;如果遇见十来分钟都还没有成功,那么就删除项目目录中的【node_modules目录】,重新执行一次刚刚的流程即可。
如果卡住重新删除node_modules目录图解:
不能恶意举报,否则进行封号处理!
测试账号
快码FOF编程 Time: 2024-03-10 21:58:35
评论ID
该功能已在刚才推送更新的功能中实现,用法与原本的sqlite支持库一摸一样
参考下述代码:
整体案例:
值得注意的是,如果使用带密码的功能,则需要在快码FOF终端下载对应的支持库
具体流程如下:
1、首先需要调试运行一下你的项目
然后再把调试运行的窗口关闭,这一步很重要。
2、接下来在快码FOF的终端窗口下载sqlite带密码连接的支持库:
点击确认后,就耐心等待支持库下载即可;这个过程可能需要一些时间,一般几分钟内完成。
下面是正在下载过程中的一些截图:
看见上面的提示,就代表已经下载完毕了,接下来就可以愉快的正常运行项目了。
值得注意的是,库是从github上面下载的,所以速度会比较慢;一定要耐心等候;如果遇见十来分钟都还没有成功,那么就删除fofdebug目录,重新执行一次刚刚的流程。
快码FOF编程 Time: 2024-03-10 12:41:10
评论ID
可以考虑做成一个三方模块开源到论坛,不纳入到官方库。
你提供一个加密的sqlite文件和打开密码,上传到回复区域;这边安排给你做一个三方模块
上头中 回复 1楼 快码FOF编程 Time: 2024-03-10 14:06:48
评论ID
感谢官方,我明细了问题,希望官方可以封装这个加密的数据库,桌面端应用真的很需要加密数据库,sqlite加密数据库完全能够胜任!
快码FOF编程 Time: 2024-03-10 22:06:16
评论ID
注意:基于NPM下载支持库的方案每一次您的支持库有变动【例如新增或取消了系统的某些支持库】,都需要执行一次这个过程。
更加简单的做法是把下载好的库直接复制到快码FOF的sqlite支持库目录中,这样就可以长久生效;不管支持库变动与否都不需要再重复下载。例如:
上头中 回复 4楼 快码FOF编程 Time: 2024-03-10 23:28:30
评论ID
快码官方yyds!
提供这么高效的IDE真是谁用谁上头,关键官方真的很用心,再也不用担心头发离家出走了!
sqlite加密数据库的加入,快码Electron已经足以开发商业级跨平台应用程序了。各位直接冲。
快码FOF编程 回复 5楼 上头中 Time: 2024-03-10 23:52:37
评论ID
上面回复的感觉还是有点复杂,于是对NPM的操作又进行了一次升级,最终本帖子以本条回复为准,同时这也是最终方案
参考下述代码:
整体案例:
值得注意的是,如果使用带密码的功能,则需要在快码FOF终端下载对应的支持库
具体流程如下:
1、点击终端区域的【命令及设置】打开终端窗口,并点击【设置终端NPM下载项目模式】
2、接下来在快码FOF的终端窗口下载sqlite带密码连接的支持库:
点击确认后,就耐心等待支持库下载即可;这个过程可能需要一些时间,一般几分钟内完成。
下面是正在下载过程中的一些截图:
看见上面的提示,就代表已经下载完毕了,接下来就可以愉快的正常运行项目了。
值得注意的是,库是从github上面下载的,所以速度会比较慢;一定要耐心等候;如果遇见十来分钟都还没有成功,那么就删除项目目录中的【node_modules目录】,重新执行一次刚刚的流程即可。
如果卡住重新删除node_modules目录图解: