在SSH框架项目中,如果遇到客户需要加密数据库配置文件(jdbc.properties等),规定用户名或者密码不能以明文的形式出现在配置文件中。该问题可以通过重写spring的processProperties方法来实现,解决方法如下:
1、首先确定加密/解密算法,这里以DES算法为例,加密/解密算法较为简单,这里就不赘述了:
加密:
public class Encryption {
/**
* DES算法密钥
*/
private static final byte[] DES_KEY = { xxx,-xxx,xxx,-xxx,xxx,-xxx,xxx,-xxx};
/**
* 数据加密,算法(DES)
*
* @param data
* 要进行加密的数据
* @return 加密后的数据
*/
public static String encryptBasedDes(String data) {
String encryptedData = null;
try {
// DES算法要求有一个可信任的随机数源
SecureRandom sr = new SecureRandom();
DESKeySpec deskey = new DESKeySpec(DES_KEY);
// 创建一个密匙工厂,然后用它把DESKeySpec转