Electron 对 SQLite 进行加密

上一篇讲了如何在 Electron使用 SQLite,如果 SQLite 中存有敏感数据,客户端采用明文存储风险很高,为了保护客户数据,就需要对数据进行加密,由于 electron 对代码并不加密,所以这里排除通过逆向工程进行数据库解密。

SQLite可以采用第三方库 SQLCipher 对数据进行加密,本文用的是better-sqlite3-multiple-ciphers。

安装依赖

复制代码
npm install  electron-rebuild@^3.2.9 --save-dev
npm install better-sqlite3-multiple-ciphers@^9.5.0
npm install electron@^29.0.0 --save-dev

在 Mac 运行会出现架构不一致错误

需要重新编译,编译成功之后,启动程序,程序启动之后数据库文件会自动生成。

复制代码
./node_modules/.bin/electron-rebuild --arch arm64

从命令行打开数据库,可以看到文件已经不能被正确识别,加密成功

相关推荐
SuperEugene16 小时前
Axios 接口请求规范实战:请求参数 / 响应处理 / 异常兜底,避坑中后台 API 调用混乱|API 与异步请求规范篇
开发语言·前端·javascript·vue.js·前端框架·axios
abigale0316 小时前
【浏览器 API / 网络请求 / 文件处理】前端文件上传全流程:从基础上传到断点续传
前端·typescript·文件上传·vue cli
Setsuna_F_Seiei16 小时前
AI 对话应用之页面滚动交互的实现
前端·javascript·ai编程
新缸中之脑17 小时前
追踪来自Agent的Web 流量
前端
wefly201717 小时前
从使用到原理,深度解析m3u8live.cn—— 基于 HLS.js 的 M3U8 在线播放器实现
java·开发语言·前端·javascript·ecmascript·php·m3u8
英俊潇洒美少年18 小时前
vue如何实现react useDeferredvalue和useTransition的效果
前端·vue.js·react.js
kyriewen1118 小时前
给浏览器画个圈:CSS contain 如何让页面从“卡成PPT”变“丝滑如德芙”
开发语言·前端·javascript·css·chrome·typescript·ecmascript
英俊潇洒美少年19 小时前
react19和vue3的优缺点 对比
前端·javascript·vue.js·react.js
~无忧花开~21 小时前
React生命周期全解析
开发语言·前端·javascript·react.js·前端框架·react