sqlite3 sqlcipher加密,解密,集成springboot,读取sqlcipher加密工具

由于项目需求sqlite3需要加密,不能随随便便就看到里面的数据,所有进行了两天的技术调研

参考:https://zhuanlan.zhihu.com/p/703309847

上面这篇文章十分好,解决了springboot加载解密后文件的难题。

1.利用加密工具sqllite3数据库加密,输出: 密码为:xxx的encrypt.db文件

bash 复制代码
d:
cd D:\sqlite加密\a57fe-main\a57fe-main\命令行版sqlcipher
sqlcipher.exe ./mydb.db
ATTACH DATABASE 'encrypt.db' AS encrypt KEY 'xxx';
SELECT sqlcipher_export ('encrypt');
DETACH DATABASE encrypt;

2.springboot加载解密后的数据库文件:

bash 复制代码
spring:
  datasource:
    url: jdbc:sqlite:./encrypt.db?key=xxx&cipher=sqlcipher&legacy=4
    driver-class-name: org.sqlite.JDBC

加密工具在csdn上可以找到,付积分下载,我也是下载别人的。直接搜索sqlcipher加密工具即可

jdbc驱动包在上面的参考文献中可获得。

jdbc驱动包也可直接在 https://github.com/Willena/sqlite-jdbc-crypt/releases 直接下载。

3.读取加密数据库工具 DB.Browser.for.SQLite-v3.13.1-win64,都是免费工具,网络直接搜索即可下载。

相关推荐
菜鸡儿齐3 小时前
Unsafe方法学习
java·python·学习
汤姆yu3 小时前
IDEA接入Claude Code保姆级教程(Windows专属+衔接前置安装)
java·windows·intellij-idea·openclaw·openclasw安装
prince056 小时前
用户积分系统怎么设计
java·大数据·数据库
96778 小时前
理解IOC控制反转和spring容器,@Autowired的参数的作用
java·sql·spring
SY_FC8 小时前
实现一个父组件引入了子组件,跳转到其他页面,其他页面返回回来重新加载子组件函数
java·前端·javascript
耀耀_很无聊8 小时前
09_Jenkins安装JDK环境
java·运维·jenkins
ノBye~8 小时前
Centos7.6 Docker安装redis(带密码 + 持久化)
java·redis·docker
黑臂麒麟8 小时前
openYuanrong:多语言运行时独立部署以库集成简化 Serverless 架构 & 拓扑感知调度:提升函数运行时性能
java·架构·serverless·openyuanrong
XiaoLeisj8 小时前
Android Jetpack 页面架构实战:从 LiveData、ViewModel 到 DataBinding 的生命周期管理与数据绑定
android·java·架构·android jetpack·livedata·viewmodel·databinding
⑩-8 小时前
为什么要用消息队列?使用场景?
java·rabbitmq