我一直在网上阅读各种有关如何最好地存储此类目的密码的文章。到目前为止,我最接近的方法是将密码添加到通过命令提示符创建的 keystore 文件中。通过这种方法,我所能做的就是访问 SecretKey 对象
SecretKeyEntry entry = (KeyStore.SecretKeyEntry)ks.getEntry("vault",new KeyStore.PasswordProtection(password));
SecretKey someKey = entry.getSecretKey();
System.out.println(someKey.getEncoded());
这可行,但要访问 SecretKeyEntry,我必须将 keystore 的密码作为明文字符串传递并调用 toCharArray
方法。另外,从这里我如何才能真正使用该值来连接到 MySQL。
最佳答案
如果您要将应用程序部署到应用程序服务器 (Weblogic/tomcat),您可以使用数据库所需的凭据在服务器上创建数据源。 在您的应用程序中,您只需提及数据源的名称即可通过数据源进行连接。
关于java - 如何从Java连接到MySQL而不将密码存储为明文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43010842/