如何配置数据库密码加密访问数据库

一般的数据库配置文件中,连接数据库都是这样的,现在又项目需要对password 进行加密处理,

所以我们要对org.apache.commons.dbcp.BasicDataSource类进行重写,如下:

package com.joyintech.tisaccel.base;

import org.apache.commons.dbcp.BasicDataSource;

public class TeradataConnection extends BasicDataSource {

    public TeradataConnection() {
        // TODO Auto-generated constructor stub
        super();
    }
    
    @Override
    public void setPassword(String password){
        try{
            this.password = Base64.decryptData(password);
        }catch(Exception e){
            
        }
    }
}

我们重写了类的setPassword方法,在给password赋值的时候用Base64.decryptData(password);方法对密码进行了解密,这里采用的加密算法是

[java]java加密解密算法(基于org.apache.commons)源代码

详情请看http://www.cuplayer.com/player/PlayerCodeAs/2015/01141756.html【转】


重写setPassword之后,我们可以修改数据库配置,如下:


这样我们就能直接用密文访问数据库了,


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MYSQL数据库密码加密方式有两种。在MYSQL 4.1版本之前,使用的是MYSQL323加密方式。而在MYSQL 4.1及之后的版本中,使用的是MYSQLSHA1加密方式。\[1\]在MYSQL数据库中,可以使用Old_Password和Password函数来查询密码,前者是用于MYSQL323加密,后者是用于MYSQLSHA1加密。\[1\] 在实际攻防过程中,如果能够获取到Webshell,可以直接下载MYSQL数据库中的user.MYD文件。该文件中保存了MYSQL数据库中所有用户对应的密码。只要能够破解这些密码,就可以正常操作这些数据。\[2\] 研究MYSQL数据库的加解密方式对于网络攻防具有重要意义。一旦获取了网站的一定权限,如果能够获取到MYSQL中保存的用户数据,并解密成功,就可以通过正常途径访问数据库。这不仅可以直接操作数据库中的数据,还可以提升权限。\[3\]目前关于破解MYSQL数据库用户密码的研究并不多,但这个问题仍然是一个有待探索和尝试的领域。\[3\] #### 引用[.reference_title] - *1* *2* *3* [详解MYSQL数据库密码加密方式及破解方法(1)](https://blog.csdn.net/arau_sh/article/details/7619721)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值