如何从Java连接到MySQL而不将密码存储为明文

时间:2017-03-24 23:41:39

标签: java mysql jdbc keystore

我一直在网上阅读各种关于如何最好地存储密码用于此类目的的文章。到目前为止,我最接近的是将密码添加到通过命令提示符创建的密钥库文件中。使用这种方法,我所能做的就是访问SecretKey对象

SecretKeyEntry entry = (KeyStore.SecretKeyEntry)ks.getEntry("vault",new KeyStore.PasswordProtection(password));
            SecretKey someKey = entry.getSecretKey();
            System.out.println(someKey.getEncoded());

这有效但访问SecretKeyEntry我必须以明文字符串的形式传递密钥库的密码并调用toCharArray方法。同样从那以后我怎样才能真正使用该值来连接MySQL。

1 个答案:

答案 0 :(得分:0)

如果要将应用程序部署到应用程序服务器(Weblogic / tomcat),则可以在服务器上使用数据库所需的凭据创建数据源。 从您的应用程序中,您只需提及其名称即可通过数据源进行连接。