Springboot使用sqlcipher4加密sqlite数据库

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

1、加入maven依赖,我们使用的是sqlit的jdbc方式
2、配置连接sqlit方式
Springboot使用sqlcipher4加密sqlite数据库_第1张图片3、先来看看数据库文件mydb.db3

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

Springboot使用sqlcipher4加密sqlite数据库_第2张图片Springboot使用sqlcipher4加密sqlite数据库_第3张图片Springboot使用sqlcipher4加密sqlite数据库_第4张图片Springboot使用sqlcipher4加密sqlite数据库_第5张图片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.html

Springboot使用sqlcipher4加密sqlite数据库_第6张图片6、数据库工具源代码下载:

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

你可能感兴趣的:(数据库,sqlite,sqlcipher,sprinbgoot)