Sharding-JDBC在简化分库分表操作,读写分离,分布式事务方面做的很出色。网上有许多资料对其设计思想,实际应用等做了详细介绍。但数据库安全方面比较少,经过一段时间摸索,也有些收获。这次分享主要是Sharding-JDBC 数据源敏感配置数据的加解密。表字段脱敏Sharding-JDBC官方已有详细的介绍,就不再多说了,官网地址(http://shardingsphere.apache.org/index_zh.html)。此次介绍安全原因是因为安全跟系统业务一样有着同等重要地位,不可忽视。
看了很多关于Sharding-JDBC项目,很多数据源配置密码和账户名经常是这样如下图一,密码明文放在配置文件里,可能数据库账户权限比较小等其他一些原因。个人觉得像图一做些处理,系统安全就可再提升。
图一
怎样做才能更安全呢?有两种方法。第一种使用druid自带的加解密。第二种自定义加解密方法。
1 第一种使用druid自带的加解密步骤。
1.1 命令行进入到druid.jar所在路径
1.2 输入命令,按回车如图三
java -cp druid-1.1.23.jar com.alibaba.druid.filter.config.ConfigTools 个人密码
图三
1.3 命令执行结果如图四