今天一进入公司,领导就问,我们现在系统中的数据库配置文件中数据库连接密码是明文写在配置文件中的吗?
我说:是的。
领导想了想,说道:这样明文写在配置文件中,怎么都感觉不太安全,你完成手头工作之后给数据库配置文件加密一下吧。领导还不忘提醒我,这个工作优先级不高,先完成手头工作要紧。
就这样进入了一天繁忙的耕农工作,快下班了,突然发现还有一个工作没做完,还得给数据库配置文件加密.
看了一下,现在的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 =