全国协议5人面授小班,企业级独立开发考核,转业者的IT软件工程师基地 登录/注册 | 如何报名

免费领取试听课程

并获得专业顾问一对一进行选课辅导

课程名称不能为空
姓名不能为空
手机号码不能为空

领取成功

数据库连接配置还在用明文密码?来了解一下纯Java编写的加解密工具包,附GitHub源码

行业新闻 汉码未来 | java 数据库 源码

2021-08-11 18:35:33

你的项目数据库连接配置,是不是还在用明文密码或者SHELL脚本直接写死数据库连接密码?不妨试试来了解了解下这个工具包,简单、使用、安全,关于工具包介绍和说明,可以看下GitHub上的README.md文档,本文主要介绍如何使用该基于Java编写的加解密工具包及一些应用场景

数据库连接配置还在用明文密码?来了解一下纯Java编写的加解密工具包,附GitHub源码


1.明文加密

将下载好的pwd-encrypt-decrypt工程导入idea或eclipse,按实际更新MainTest.java测试类中的IP、用户、密码数据库信息,并运行测试类。


MainTest.java测试类:


package com.justin;

/**

 * 密码加解密测试类

 */

public class MainTest {

private final static String HOST="127.0.0.1"; //数据库IP

private final static String USER = "root"; //数据库用户

private final static String PASSWORD = "abc@123456"; //数据库密码


public static void main(String[] args) {

//初始化加密需要的参数

args = encryptInitParam(args);


//初始化解密需要的参数

//args = decryptInitParam(args);


//加解密的主入口

Main.main(args);

}


/**

* 初始化加密需要的参数

* @param args

* @return

*/

private static String[] encryptInitParam(String[] args) {

args = new String[3];

args[0] = HOST;

args[1] = USER;

args[2] = PASSWORD;

return args;

}


/**

* 初始化解密需要的参数

* @param args

* @return

*/

private static String[] decryptInitParam(String[] args) {

args = new String[2];

args[0] = HOST;

args[1] = USER;

return args;

}

}

生成的密码解密文件为encrypt.pass,默认生成在编译目录下



2.密文解密

测试解密,将encrypt.pass加密文件中的整行密文字符串,拷贝到DecryptTest.java类中进行测试。

DecryptTest.java测试类:


public class DecryptTest {

    public static void main(String[] args) {

        String dePass = "127.0.0.1:root:C33D583B7575AF82FFDCE895C9F5E8FA:E5DBAC8F8FFF3EA5DC670221DAF820B3:DC9AB9C2382A04F2A479891CF9B411C9";

        IDecrypt decrypt = new Decrypt();

        String password = null;

        try {

            password = decrypt.getDepass(dePass);

        } catch (Exception e) {

            throw new RuntimeException("数据库密文解密失败:" + e.getMessage());

        }

        System.out.print(password);

    }

}


3.生成工具包

完成了明文加密、密文解密说明对源码的验证完成了,可以将工程pwd-encrypt-decrypt导出为一个jar包,可根据实际需要自行命名架包


4.导入工具包

将生成的工具包pwd.jar手动依赖到自己的项目中


5.配置jdbc.properties或yml

修改项目数据库配置文件jdbc.properties或application.yml(springboot工程)文件中的app-data-source.password = ***数据库密码为encrypt.pass加密文件中得到的密文


配置如下:

#数据库连接驱动

app-data-source.driverClassName=com.mysql.jdbc.Driver

#数据库连接url

app-data-source.url=jdbc:mysql://localhost:3306/test?useSSL=false&characterEncoding=UTF-8

#数据库用户

app-data-source.username=root

#数据库用户密码(加密)

app-data-source.password=127.0.0.1:root:C33D583B7575AF82FFDCE895C9F5E8FA:E5DBAC8F8FFF3EA5DC670221DAF820B3:DC9AB9C2382A04F2A479891CF9B411C9

#连接池初始化大小

app-data-source.initialSize=10

#连接池最大数量

app-data-source.maxAc



以上就是汉码未来给大家分享的文章,希望对小伙伴们有所帮助,想要了解更多数据库连接配置还在用明文密码?来了解一下纯Java编写的加解密工具包,附GitHub源码相关内容的小伙伴可以登录汉码未来官网咨询,主打5人小班,全程面授,主打Java开发,web前端开发等课程,有专业的授课老师为你答疑解惑。

    

分享到:

上一篇: 暂无资讯


【免责声明】由于政策等各方面情况的不断调整与变化,本网站所提供的信息仅供参考,请以权威部门公布的正式信息为准。本网站在文章内容来源出处标注为其他平台的稿件均为转载稿,免费转载出于非商业性学习目的,版权归原作者所有。如您对内容、版权等问题存在异议请与本站联系,我们会及时进行处理解决。 删除,请联系客服。
相关推荐
为什么选择汉码未来