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

Cag*_*mar 5 java security oracle jdbc

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

DriverManager.getConnection(
"jdbc:oracle:thin:@myserver:port:mySID", 
"myuser", 
"mypassword");
Run Code Online (Sandbox Code Playgroud)

需要真实密码。有没有一种方法可以指定密码哈希,例如:

DriverManager.getConnection(
"jdbc:oracle:thin:@myserver:port:mySID", 
"myuser", 
"mypasswordHash");
Run Code Online (Sandbox Code Playgroud)

hal*_*bit 3

根据建立连接时 Oracle JDBC 客户端是否加密密码?连接时无需使用哈希。如果您只是希望没有人能够读取纯文本密码,那么请查看在配置文件中加密密码?

Oracle 最接近混淆的方法似乎是具有“自动登录”功能的钱包:有关 Java 示例,请参阅http://sysapp.wordpress.com/2010/08/31/how-to-oracle-wallet-with-jdbc-thin-驱动程序-数据源-tomcat/。但这似乎需要特定的 Oracle 管理员操作:请参阅如何创建完整的钱包(也许您的 DBA 对此了解更多)。有关无需密码即可进行连接的其他选项,请参阅JDBC 客户端安全功能