Springboot Druid 自定义加密数据库密码
前言开发过程中,配置的数据库密码通常是明文形式,这样首先第一个安全性不好(相对来说),不符合一个开发规范(如项目中不能出现明文账号密码),其实就是当出现特殊需求时,比如要对非运维人员开方服务器部分权限,但是又涉及项目部署的目录时,容易泄漏数据库密码,虽然一般生产环境中,数据库往往放入内网,访问只能通过内网访问,但是不管怎么说账号密码直接让人知道总归不好,甚至有些项目需要部署到客户环境中,但是可能共用一个公共数据库(数据库只向指定服务器开放外网端口或组建内网环境),这样的情况下,如果数据库密码再以明文形式存在,就非常危险了,常见的避免这些方式据我了解有2种 第一种:通过网络获取密码 这种是让密码通过接口获取,当然接口中可以做加密认证,但是如果是把获取地址和认证放在了配置文件中,那么稍微用心也能获取到密码,不过也可以跟第二种方法配合使用 第二种:密码加密 通过对密码加密,使得配置文件中配置的密码为密文,从而提升安全性,当然网络获取密码也可以获取加密后的密码,而国内常用的数据库连接池是Druid,所以此文主要是针对Druid的数据库密码加密方案,Druid默认再带了一个密码加密,所以Druid加密密码也有2种方案 Druid加解密密码的2种方案第一种:自带加密 优点:简单快捷,配置方便,无需改动代码(只需要改动配置文件即可) 缺点:自欺欺人式加密,因为密码和公钥都需要配置到配置文件中,只要别人有了配置文件,看出来了你是用的Druid,…