上一篇讲了如何在 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
从命令行打开数据库,可以看到文件已经不能被正确识别,加密成功