在Oracle JDBC客户端中指定密码哈希而不是清除密码

时间:2013-11-19 12:34:27

标签: java oracle security jdbc

我在Java应用程序中使用Oracle JDBC驱动程序来访问Oracle DB。使用代码创建连接:

DriverManager.getConnection(
"jdbc:oracle:thin:@myserver:port:mySID", 
"myuser", 
"mypassword");

需要真实密码。有没有办法指定密码哈希,例如:

DriverManager.getConnection(
"jdbc:oracle:thin:@myserver:port:mySID", 
"myuser", 
"mypasswordHash");

1 个答案:

答案 0 :(得分:3)

根据Does the Oracle JDBC client encrypt password when you make a connection?,连接时无需使用哈希。如果您只是希望没有人能够以纯文本格式阅读密码,那么请查看Encrypt Password in Configuration Files?

最接近混淆的Oracles方法似乎是“自动登录”的钱包:对于Java示例,请参阅http://sysapp.wordpress.com/2010/08/31/how-to-oracle-wallet-with-jdbc-thin-driver-datasource-tomcat/。但这似乎需要特定的Oracle管理员操作:请参阅How to Create a Complete Wallet(也许您的DBA了解更多信息)。对于其他没有密码连接的选项,请参阅JDBC Client-Side Security Features