执门文章
Springboot代码中利用sqlcipher4技术对sqlite数据库加密
于 2023-12-15 07:44:06 发布
访问501
收藏0
文章标签:
sqlcipher4

在有些业务场景,需要使用sqlite数据库,但sqlite数据库生的db文件,是明文的,该文件被别人拿到,就可以看到里面的所有数据,非常不安全,市面上有很多对sqlite数据库文件加密的方式,但都没有sqlcipher方便简洁,而且现在sqlcipher已发展到第4代,安全性极高,所以今天就使用springboot来集成sqlcipher4,做一个简单的例子

1、加入maven依赖,我们使用的是sqlit的jdbc方式

2、配置连接sqlit方式

Springboot代码中利用sqlcipher4技术对sqlite数据库加密

3、先来看看数据库文件mydb.db3

在resources/db下有mydb.db3文件,此次就是sqlite使用sqlcipher4加密后的文件,我们使用DB Browser (SQLCipher)工具打开(此工具会放在后面的下载链接,下载安装即可),输入密码为111111,就可以查看mydb.db3里面的内容

Springboot代码中利用sqlcipher4技术对sqlite数据库加密

Springboot代码中利用sqlcipher4技术对sqlite数据库加密

Springboot代码中利用sqlcipher4技术对sqlite数据库加密

Springboot代码中利用sqlcipher4技术对sqlite数据库加密

4、java代码查询数据

//controller类
@RestController
@RequestMapping("/sysCompany")
@Api(tags = "AdminSysCompanyController", description = "公司管理")
public class SysCompanyController {
    private static final Logger logger = LoggerFactory.getLogger(SysCompanyController.class);
    @Autowired
    private SysCompanyService sysCompanyService;
 
 
    @GetMapping("/findByCompanyId")
    @ApiOperation("查询公司")
    public SysCompany findByCompanyId(@RequestParam String companyId) {
        SysCompany sysCompany = sysCompanyService.find(companyId);
        return sysCompany;
    }
}
//service类
@Service
public class SysCompanyService {
    @Autowired
    private CommonDao commonDao;
    
    public SysCompany find(String companyId){
        SysCompany sysCompany =(SysCompany) commonDao.findTById(SysCompany.class,companyId);
        return sysCompany;
    }

 
}

5、页面访问,先启动服务,运行ServerApplication,访问页面:http://127.0.0.1:9080/ck/swagger-ui.ht

Springboot代码中利用sqlcipher4技术对sqlite数据库加密

6、数据库工具源代码下载:

链接:https://pan.baidu.com/s/136FAwjmU-o1dwYZEw2ZZZQ?pwd=gkf6
提取码:gkf6

于 2023-12-15 07:44:06 发布
访问501
收藏0

实力雄厚的技术网站

产品

概述

资源

文档

版权问题

请联系客服

联系我们

联系我们


© 财瑞智能科技 2024蜀ICP备2023018175号-2川公网安备51011202000656号