使用druid连接池对配置文件密码进行加密

news2025/1/16 5:33:35

想让别人看不到你的数据库密码该怎么办呢???

1.建立maven项目添加依赖。

<dependencies>
        <!-- com.mysql/mysql-connector-j -->
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <version>8.1.0</version>
        </dependency>
        <!-- artifact/com.alibaba/druid -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.2.18</version>
        </dependency>
    </dependencies>

2、新建一个Java文件连接数据库。

/*
 * Copyright (c) 2020, 2023,  All rights reserved.
 *
 */
package cn.scl;

import com.alibaba.druid.pool.DruidDataSource;

import java.sql.SQLException;

/**
 * <p>Project: jdbcfirst - Dome1</p>
 * <p>Powered by scl On 2023-08-16 13:02:49</p>
 * <p>描述:<p>
 *
 * @author 孙臣龙 [1846080280@qq.com]
 * @version 1.0
 * @since 17
 */
public class Dome1 {
    public static void main(String[] args) throws SQLException {
        DruidDataSource ds = new DruidDataSource();
        ds.setInitialSize(10);
        ds.setMaxActive(50);
        ds.setDriverClassName("com.mysql.cj.jdbc.Driver");
        ds.setUrl("jdbc:mysql:/book");
        ds.setUsername("admin");
        ds.setFilters("stat,config");
        ds.setConnectionProperties("config.decrypt=true;config.decrypt.key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKH5gqQc19zlXxwLQklRKj77VgeKvDX5XoGEX/ADnXtGo3KN+Ldpw/hVTTz4iYD2aeTyfkObOrOMcaokmYSB/wECAwEAAQ==");
        ds.setPassword("i/yutkZ8G3M8h2/jKIvccSgRHUhg3nCVERCLO0BDkCB9kBaZps1gExQ6vnob6fUN0VM/7cLjsAUFtrrBG39Xxg==");
        //ds.setPassword("admin");
        var c = ds.getConnection();
        //验证是否连接成功,成功就输出数据库的版本号
        System.out.println(c.getMetaData().getDatabaseProductVersion());
    }
}

3.找到maven\repo\com\alibaba\druid\1.2.18这个目录(加密)

如果你还没下载maven这里可以很详细的告诉你:maven的下载安装与配置环境变量!!!(全网最详细)_明天更新的博客-CSDN博客

 命令:java -cp druid-1.2.18.jar com.alibaba.druid.filter.config.ConfigTools admin(这个是你的数据库密码)

 注意这两个密码:

在Java文件中填写写两个密码:

有小伙伴该问了,那该怎么解密呢???? 别着急现在就告诉你

4.解密

/*
 * Copyright (c) 2020, 2023,  All rights reserved.
 *
 */
package cn.scl;

import com.alibaba.druid.filter.config.ConfigTools;

/**
 * <p>Project: jdbcfirst - Test</p>
 * <p>Powered by scl On 2023-08-16 11:26:56</p>
 * <p>描述:<p>
 *
 * @author 孙臣龙 [1846080280@qq.com]
 * @version 1.0
 * @since 17
 */
public class Test {
    public static void main(String[] args) throws Exception {
        String pk="MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKH5gqQc19zlXxwLQklRKj77VgeKvDX5XoGEX/ADnXtGo3KN+Ldpw/hVTTz4iYD2aeTyfkObOrOMcaokmYSB/wECAwEAAQ==";
        String ps="i/yutkZ8G3M8h2/jKIvccSgRHUhg3nCVERCLO0BDkCB9kBaZps1gExQ6vnob6fUN0VM/7cLjsAUFtrrBG39Xxg==";
        String password= ConfigTools.decrypt(pk,ps);
        System.out.println(password);
    }
}

 注意千万别写错了!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/885271.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MyBatis速成

一、MyBatis简介 1、基本概念 MyBatis是一个持久层框架&#xff0c;用于简化JDBC开发。 表现层&#xff1a;页面展示&#xff1b; 业务层&#xff08;service&#xff09;&#xff1a;逻辑处理&#xff1b; 持久层&#xff08;dao&#xff09;&#xff1a;将数据保存到…

Access开发ERP简单主框架搭建

哈喽,哈喽,大家好! 今天我们接着来讲ERP,我们已经把理论知识与表结构讲完了,接下去我们开始讲最关键的业务部分的开发,这里也是大家最期待的。这里我们将会把系统分成几个部分来讲解,包括整个系统基本模块、基础信息、销售管理、采购管理、生产管理、仓库管理。今天的话…

微信小游戏投放量增长五倍,下半年买量能怎么玩?

App中运行小游戏的技术价值和业务价值都是显著的&#xff1a;通过小程序容器技术&#xff0c;承载多样化的小游戏运行在自有App内&#xff0c;实现跨平台的游戏资源共享&#xff0c;降低买量成本&#xff0c;此为「降本」。进一步的&#xff0c;在App内快速引入多小游戏应用&am…

载入内存,让程序运行起来

如果你的电脑上安装了QQ&#xff0c;你希望和好友聊天&#xff0c;会双击QQ图标&#xff0c;打开QQ软件&#xff0c;输入账号和密码&#xff0c;然后登录就可以了。 那么&#xff0c;QQ是怎么运行起来的呢&#xff1f; 首先&#xff0c;有一点你要明确&#xff0c;你安装的QQ软…

智能数据建模软件DTEmpower 2023R2新版本功能介绍

DTEmpower是由天洑软件自主研发的一款通用的智能数据建模软件&#xff0c;致力于帮助工程师及工科专业学生&#xff0c;利用工业领域中的仿真、试验、测量等各类数据进行挖掘分析&#xff0c;建立高质量的数据模型&#xff0c;实现快速设计评估、实时仿真预测、系统参数预警、设…

哪个品牌的触控笔质量好?学生党电容笔选购推荐

相信不少学生党都开始为开学而作准备了&#xff0c;然而电容笔一直都受学生党的广泛喜爱。苹果的Pencil&#xff0c;在性能上确实非常的优秀&#xff0c;但价格却非常的昂贵&#xff0c;一般人根本用不起。现在市面上出现了许多价格便宜、易用的平替电容笔&#xff0c;所以受到…

图文详解Vue slot和slot-scope的用法和区别

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

APSIM模型参数优化 批量模拟丨气象数据准备、物候发育和光合生产、物质分配与产量模拟、土壤水分平衡算法、土壤碳氮平衡模块、农田管理模块等

随着数字农业和智慧农业的发展&#xff0c;基于过程的农业生产系统模型在模拟作物对气候变化的响应与适应、农田管理优化、作物品种和株型筛选、农田固碳和温室气体排放等领域扮演着越来越重要的作用。APSIM (Agricultural Production Systems sIMulator)模型是世界知名的作物生…

陈可之油画|艺术|夔门,好一个天然门户!

《吉祥夔门》 尺寸&#xff1a;56x86cm 陈可之2009年绘 “赤甲白盐俱刺天&#xff0c;闾阎缭绕接山巅。”“夔子巴峡冲&#xff0c;风物异蜀境。”古老的夔门由于其独特的地貌&#xff0c;留下了好多万古流芳的诗句。而陈可之先生&#xff0c;踏足三峡二十余载&#xff0c;用画…

轻松合并视频并添文案,一键让你的作品更出彩

在这个视觉时代&#xff0c;视频已成为展现个性、传递信息的重要方式。你是否经常为了合并多段视频而烦恼&#xff1f;是否苦于缺乏文案添加工具&#xff1f;别担心&#xff01;我们带来了一款强大的视频剪辑工具&#xff0c;让你的创意无处不展现&#xff01; 首先第一步&…

Nginx代理功能与负载均衡详解

序言 Nginx的代理功能与负载均衡功能是最常被用到的&#xff0c;关于nginx的基本语法常识与配置已在上篇文章中有说明&#xff0c;这篇就开门见山&#xff0c;先描述一些关于代理功能的配置&#xff0c;再说明负载均衡详细。 Nginx代理服务的配置说明 1、上一篇中我们在http…

SpringBoot第37讲:SpringBoot数据库管理 - 用Liquibase对数据库管理和迁移

SpringBoot第37讲&#xff1a;SpringBoot数据库管理 - 用Liquibase对数据库管理和迁移 Liquibase是一个用于跟踪、管理和应用数据库变化的开源工具&#xff0c;通过日志文件(changelog)的形式记录数据库的变更(changeset)&#xff0c;然后执行日志文件中的修改&#xff0c;将数…

JavaScript进阶 第三天

编程思想构造函数原型 一.编程思想 面向过程&#xff1a;分析出解决问题所需要的步骤&#xff0c;然后利用函数把这些步骤一步一步实现&#xff0c;使用的时候再一个一个依次调用就可以了&#xff08;按照步骤划分&#xff09;面向对象&#xff1a;把事务分解成一个个对象&…

网络通信原理IP头部格式(第四十二课)

字段作用解析:1)版本: 指的IP地址的版本 (IPv4 或 IPV6)2)首部长度: 次数据包的首部长度一共是多少,没有加可选项3)优先级与服务类型:表示****数据包是否需要优选传递4)总长度: 表示的是整个数据包的大小,也就****是首部+数据5)标识符、标志、段偏移量:的作用将拆开的…

Java基础篇--重写(Override)与重载(Overload)

目录 重写&#xff08;Override&#xff09; 重写&#xff08;override&#xff09;的规则&#xff1a; 重载&#xff08;Overload&#xff09; 重载&#xff08;overload&#xff09;的规则&#xff1a; 示例代码 重写与重载之间的区别 总结 在Java中&#xff0c;重写…

Unity C# 之 Azure 微软SSML语音合成TTS流式获取音频数据以及表情嘴型 Animation 的简单整理

Unity C# 之 Azure 微软SSML语音合成TTS流式获取音频数据以及表情嘴型 Animation 的简单整理 目录 Unity C# 之 Azure 微软SSML语音合成TTS流式获取音频数据以及表情嘴型 Animation 的简单整理 一、简单介绍 二、实现原理 三、注意事项 四、实现步骤 五、关键代码 一、简…

港科夜闻|香港科大(广州)与南沙科金控股签订战略合作协议,为南沙创新生态与高质量发展提供持续强劲动力...

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大(广州)与南沙科金控股签订战略合作协议&#xff0c;为南沙创新生态与高质量发展提供持续强劲动力。双方将以此为契机&#xff0c;立足自身资源优势&#xff0c;完善合作机制&#xff0c;深化合作领域&#xff0c…

MOM or MES:如何选择适合工厂的制造管理系统?

在现代制造业中&#xff0c;有效的制造管理系统对于工厂的生产效率和竞争力至关重要。这衍生出来了两个常见的解决方案&#xff1a;MOM&#xff08;Manufacturing Operations Management&#xff09;制造管理系统和MES&#xff08;Manufacturing Execution System&#xff09;制…

无涯教程-Perl - socketpair函数

描述 此函数使用PROTOCOL在指定的DOMAIN(指定的TYPE)中创建一对未命名的连接Socket。如果未实现系统socketpair()函数,则将导致致命错误。 语法 以下是此函数的简单语法- socketpair SOCKET1, SOCKET2, DOMAIN, TYPE, PROTOCOL返回值 如果失败,此函数返回0,如果成功,则返回…

基于STM32CUBEMX驱动TMOS模块STHS34PF80(5)----配置嵌入式函数

基于STM32CUBEMX驱动TMOS模块STHS34PF80----4.中断获取信号 概述样品申请视频教程参考Demo参考Demo内嵌函数地址串口配置IIC配置IO口设置串口重定向参考程序初始化IIC写函数IIC读函数获取ID设备的自动引导过程和关机模式配置省电模式温度数据的灵敏度值设置低通滤波器温度测量滤…