goo*_*oin 3 java postgresql jdbc
我正在尝试在 jdbc 中测试 SCRAM-SHA-256。
public static void main(String[] args) throws SQLException {
String url = "jdbc:postgresql://192.168.56.101:1521/gisdb";
Properties props = new Properties();
props.setProperty("user", "pguser");
String scram = "SCRAM-SHA-256$4096:QNTBYMpbvZjbOx5RLM7rvA==$tuBD7Ek7niK8jyiuwjCGLH2EurqMNoIaclZhOXohyik=:2b0Ow951/1OPKsqzaGLWPyT+wVIXOs9dvY8TF2eTCVM=";
props.setProperty("password", scram);
// props.setProperty("password", "*******");
Connection conn = DriverManager.getConnection(url, props);
String databaseProductVersion = conn.getMetaData().getDatabaseProductVersion();
System.out.println(databaseProductVersion);
}
Run Code Online (Sandbox Code Playgroud)
我的pg_hba.conf:
hostssl all all 192.168.0.0/16 scram-sha-256
#hostssl all all 192.168.0.0/16 trust
Run Code Online (Sandbox Code Playgroud)
select rolname,rolpassword from pg_authid; 表明:
rolname | rolpassword
---------------------------+---------------------------------------------------------------------------------------------------------------------------------------
pg_monitor |
pg_read_all_settings |
pg_read_all_stats |
pg_stat_scan_tables |
pg_read_server_files |
pg_write_server_files |
pg_execute_server_program |
pg_signal_backend |
pguser | SCRAM-SHA-256$4096:PZNbiF6I5G1SVcoN9sTjJw==$xe8jrBS9iUn0ldoIV8moaAod06sYRbxsyyQaUbiuSQE=:2tpLS+eL1brme0Il0wcnsllkDBfDkaQ/II7iVJ3ecxM=
test |
postgres | SCRAM-SHA-256$4096:o1lyjT/acTglIuLsp6TF3Q==$pdWLZ8DuceZDwr9jla0WPzXXa3N3kWrjh9cPnrloP3w=:6hd8Ib7Od+ZZenItVoH4L+26oSiBxqp63WxO82PeonM=
Run Code Online (Sandbox Code Playgroud)
当我scram-sha-256在 java 代码中使用加密密码字符串或 prue 密码进行连接时,在日志文件中,它显示 FATAL: password authentication failed for user "pguser". 当我将方法更改为trustin 时pg_hba.conf,它起作用了。
如何使用scram-sha-256方法密码连接?
我的 JDBC 驱动程序版本是postgresql-42.2.12.jar
| 归档时间: |
|
| 查看次数: |
2260 次 |
| 最近记录: |