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
Views: Raw Message | Whole Thread | Download mbox | Resend email
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

Browse pgsql-php by date

  From Date Subject
Next Message Joolz 2004-04-29 08:54:09 Re: MD5 in pg and php
Previous Message Stefan Sturm 2004-04-29 08:49:32 Re: MD5 in pg and php