Thread: converting to MD5

converting to MD5

From
owenn panng
Date:
Hi there, I was wondering what is needed to done on both the postgres
& client side to connect via MD5.  Right now, we are connecting fine
by just specifying password in pg_hba.conf:
host   database      user xxx.xxx.xxx.xxx   xxx.xxx.xxx.xxx   password

But I would like to change this to use:
host   database      user xxx.xxx.xxx.xxx   xxx.xxx.xxx.xxx   md5

I have the user stored in pg_shadow (note: the passwd listed is not
the real one):
 usename  | usesysid | usecreatedb | usesuper | usecatupd |
   passwd                | valuntil | useconfig
 user  |      100 | t           | f        | f         |
md59033f409a99f207fa816b990467a9999 |          |

On the client side, we are using pg74.215.jdbc2.jar with code based on
the example given on
http://jdbc.postgresql.org/documentation/pgjdbc.html

    String url = "jdbc:postgresql://" + host + "/" + database;
    try {
    Class.forName("org.postgresql.Driver");

                                                          con =
DriverManager.getConnection(url, userID, password);

                                                          }

I can generate the same password that matches the one stored in
pg_shadow.  So how do I specify that the password I am sending is in
MD5?  Any help would be appreciated.

Thanks, O.

Re: converting to MD5

From
Kris Jurka
Date:

On Tue, 19 Oct 2004, owenn panng wrote:

> I can generate the same password that matches the one stored in
> pg_shadow.  So how do I specify that the password I am sending is in
> MD5?  Any help would be appreciated.

You don't.  The JDBC driver sends the database and user name it wants to
connect to to the server.  The server sends back the password format to
use (if any) and the driver responds with the password in that format.  So
there's nothing you need to do, you just specify the password in plain
text as normal.

Kris Jurka

Re: converting to MD5

From
John R Pierce
Date:
owenn panng wrote:
> Hi there, I was wondering what is needed to done on both the postgres
> & client side to connect via MD5.

with 7.4.x and 8, at least, you don't need to do anything special, the client
libraries take care of it transparently.   the pg_shadow file is created
automatically when you use
    ALTER USER username WITH ENCRYPTED PASSWORD 'password';

as a SQL statement.  (actually, it appears it uses $PGDATA/global/pg_pwd for
this if you don't specify anything else).