利用druid对数据库密码进行加密

        针对目前越来越严的安全等级要求,我们在做产品研发和项目开发时,越来越需要注意安全问题,各种账号密码的在配置文件中明文存储就是一个很大的安全隐患。

        现针对数据库密码加密方面,利用druid进行数据库加密,实现项目配置文件中数据库密码密文存储,一定程度上保证了数据安全。

配置方法:

1、数据源配置[spring-mybatis.xml文件]


init-method="init" destroy-method="close">








       
     















   

  value="${jdbc.connectionProperties}"/>


2、数据库配置[ms.properties 一般为项目.properties配置文件]

#mysql
jdbc.type=mysql
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test_cmsnewdb?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&allowMultiQueries=true
jdbc.username=test_cmsnewdb
jdbc.password=DwVqlwsQ4DO3cNBYh3E4d+K0buSzX9ICy+wSKwODDcmXMy8XAGwymQivLoCBmAnI4wDRlN5uds25uFN9dsVACw==
jdbc.filters=stat,config
jdbc.connectionProperties=config.decrypt=true;config.decrypt.key=${jdbc.publicKey}
jdbc.publicKey=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIv1DA8byv/lmR1LlR3cbl3BQ/WPKjRy+/o49QDrd3bUFQaXpzPil2dE9+h1MmXgje2URYfKwluOLVVGBnL01q0CAwEAAQ==


注:注意以上两个配置文件的标红配置项,把两个配置文件里面的标红配置项直接删掉就是明文存储数据库密码,也是可以正常使用的,但是要想实现加密,其实也只是需要加上jdbc.filtersjdbc.publicKey以及修改一下jdbc.password为加密之后的密文密码。

那么如何生成这个加密之后的密文密码和publicKey?

    其实还是比较简单的,直接利用阿里的druid.jar在本地生成一下就行了,具体操作步骤如下:

    1、CMD命令进入D:\dev\MavenRepos\Repo\com\alibaba\druid\1.0.22  该路径为本地仓库druid的jar包存放路径

    2、执行命令:java -cp .\druid-1.0.22.jar com.alibaba.druid.filter.config.ConfigTools root,其中root为待加密的明文密码

    3、取生成的publicKey和password到配置文件中即可

利用druid对数据库密码进行加密_第1张图片

这样就可大功告成了!


你可能感兴趣的:(spring,database)