Madison Kelly schrieb:
> Hi all,
>
> Is it possible to take a string (ie: a user's password) and have
> postgres encrypt the string before performing the query?
>
> At the moment, I am using postgresql + postfix for email. I need to
> save the passwords in clear text in the DB and I don't feel safe doing
> that. I'd like to save the passwords as an SHA1 hash. Then when postfix
> checks the password it uses a query that converts the passed password
> into an SHA1 hash then performs the comparison.
>
> So a pseudo code of what I'd like is:
>
> SELECT foo FROM table WHERE passwd=sha1($password);
>
> I did a search on postgres's website and the only reference to SHA1 I
> saw was in the connection to psql. I hope this doesn't mean it's not
> possible. I'm much less familiar with postfix and am hoping to avoid
> mucking around with it. :P
You can use contrib/pgcrypto:
http://developer.postgresql.org/pgdocs/pgsql/contrib/pgcrypto/
contrib is often installed allong with postgres and contains
not (yet) core included extensions.
http://developer.postgresql.org/pgdocs/pgsql/contrib/pgcrypto/sql/sha1.sql
shows example usage.
HTH
Tino Wildenhain