Spring+hibernate(jpa)+freemarker之数据库连接加密

本文讲述了在接到领导关于数据库连接密码明文存储的安全隐患问题后,如何在Spring+Hibernate+Freemarker环境中实现数据库配置文件的加密。通过分析现有的jdbc.properties配置,作者测试并提出了继承org.springframework.beans.factory.config.PlaceholderConfigurerSupport来实现属性值的解密,以增强系统安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天一进入公司,领导就问,我们现在系统中的数据库配置文件中数据库连接密码是明文写在配置文件中的吗?

我说:是的。

领导想了想,说道:这样明文写在配置文件中,怎么都感觉不太安全,你完成手头工作之后给数据库配置文件加密一下吧。领导还不忘提醒我,这个工作优先级不高,先完成手头工作要紧。

就这样进入了一天繁忙的耕农工作,快下班了,突然发现还有一个工作没做完,还得给数据库配置文件加密.

看了一下,现在的jdbc.properties配置如下:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/db_aplus?useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=admin

第一个想法就是必须先写一个工具类,能把admin生成密文并且解密,还想到了DES加密算法。

/**
 * 密码工具类
 * Created by Li.fang on 2014/11/13.
 */
public class CipherUtils {

    private static Logger logger = LoggerFactory.getLogger(CipherUtils.class);

    //指定DES加密解密所用密钥
    private static Key key;

    private static String STR_SALT = "APLUS OFFICE SYSTEM";

    private static final String GENERATOR_DES = "DES";

    private static final String ENCODING_UTF8 = "UTF-8";

    private static final int CIPHER_COUNT = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值