Skip site navigation (1) Skip section navigation (2)

Re: MD5 in pg and php

From: Nick Barr <nicky(at)chuckie(dot)co(dot)uk>
To: pgsql-php(at)postgresql(dot)org
Subject: Re: MD5 in pg and php
Date: 2004-04-29 08:50:40
Message-ID: 4090C1E0.6010309@chuckie.co.uk (view raw or flat)
Thread:
Lists: pgsql-php
Joolz wrote:

>>[Marek Lewczuk schreef op 29-04-2004 09:31 +0100]
>>
>>Joolz wrote:
>>    
>>
>>>Hi, I'm completely new to hashing, so please bear with me.
>>>
>>>I want to store passwords in a pg db, MD5 seems like a good way to
>>>enhance security (no more plaintext passwords over the line etc.) I
>>>had a look at MD5, in PHP 4.3.4 there is a function md5() which seems
>>>to work nicely:
>>>
>>> echo md5('apple');
>>>
>>>returns ae6d32585ecc4d33cb8cd68a047d8434 every time. Apart from the
>>>PHP frontend, I also want to be able to use the same algorithm in
>>>native pg. I found that postgresql-contrib-7.3.4 has a function
>>>crypt() which I expected to work the same. However:
>>>
>>> select crypt('apple', gen_salt('md5'));
>>>
>>>gives values different from the PHP md5() function, and moreover,
>>>they're different each time. Can anyone please tell me what I should
>>>do to get the same result in native pg as in PHP?
>>>
>>>Thanks!
>>>
>>>      
>>>
>>I whould suggest to update PG to version 7.4, where there is built-in 
>>MD5 function.
>>    
>>
>
>Thanks, I already found some fc1 rpm's (still in development). But can
>anyone tell me if the 7.4 internal md5() function will do the same as
>the PHP md5() function? Or do a quick select md5('apple') and let me
>know if the result is 'ae6d32585ecc4d33cb8cd68a047d8434'?
>
>I really wouldn't like to upgrade from my current stable situation,
>only to find out that it didn't solve my original problem.
>
>TIA!
>
>  
>
OK, PHP

---------------------------------------------------
<?

echo md5('apple');

?>
---------------------------------------------------

produces

---------------------------------------------------
1f3870be274f6c49b3e31a0c6728957f
---------------------------------------------------

and postgres:

---------------------------------------------------
im_perf=# select version();
                                                 version
---------------------------------------------------------------------------------------------------------
 PostgreSQL 7.4.2 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.3.2 
20031022 (Red Hat Linux 3.3.2-1)
(1 row)

im_perf=# select md5('apple');
               md5
----------------------------------
 1f3870be274f6c49b3e31a0c6728957f
(1 row)
---------------------------------------------------

I have no idea why these two results dont agree with yours, but at least 
they agree with each other. It is probasbly different library versions.


Nick




In response to

pgsql-php by date

Next:From: JoolzDate: 2004-04-29 08:54:09
Subject: Re: MD5 in pg and php
Previous:From: Stefan SturmDate: 2004-04-29 08:49:32
Subject: Re: MD5 in pg and php

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group