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,都是免费工具,网络直接搜索即可下载。

相关推荐
xier_ran10 小时前
【infra之路】GPU 存储层次总结:L1 / L2 / HBM
java·网络·数据库
wuminyu10 小时前
JDK21中虚拟线程和FFM协同实现高并发源码剖析
java·linux·c语言·jvm·c++
SWAGGY..10 小时前
【C++进阶】:(1)继承机制详解
java·jvm·c++
码匠许师傅11 小时前
【C++ 面试真题】27. 聊聊 C++ 的内存泄漏与内存布局
java·c++·面试
PPPPickup12 小时前
金证秋招笔试
java·开发语言
不正经学生12 小时前
C语言结构体:自定义数据类型,让变量打包出行
java·c语言·开发语言·数据结构·算法
ycjunhua12 小时前
Spring AI 2.0 GA:ToolCallingAdvisor 重构与 Java Agent 新范式
java·人工智能·spring
开源必胜12 小时前
Future的异常处理以及CompletableFuture传播链、异常处理
java
林森lsjs13 小时前
队列 FIFO 原理 & 手撕两种队列实现(链表 + 循环数组)—数据结构陆
java·开发语言·数据结构·队列
孙克旭_14 小时前
数据结构基础:Java数组实现一次性队列
java·开发语言·数据结构·队列