Re: pgcrypto : how to get SHA1(string) as a 40-char string, NOT binary string? - Mailing list pgsql-general

From Michael Fuhr
Subject Re: pgcrypto : how to get SHA1(string) as a 40-char string, NOT binary string?
Date
Msg-id 20050713130756.GA93624@winnie.fuhr.org
Whole thread Raw
In response to pgcrypto : how to get SHA1(string) as a 40-char string, NOT binary string?  (Miles Keaton <mileskeaton@gmail.com>)
List pgsql-general
On Wed, Jul 13, 2005 at 12:45:19AM -0700, Miles Keaton wrote:
> I have the contrib/pgcrypto installed.
> I want to get the 40-character hash from SHA1
>
> Example: SELECT digest('blue', 'sha1') would be:
> 4c9a82ce72ca2519f38d0af0abbb4cecb9fceca9
>
> I was surprised and disappointed to get a binary-hash back.

The pgcrypto documentation does show that the return type is bytea,
and it says that the function "Returns binary hash."

> Does anyone know how to get the regular 40-character string back from
> SHA1 instead of the binary-hash?   (Or how to convert a binary-hash
> into a-z0-9 chars?)

Use encode().

http://www.postgresql.org/docs/8.0/static/functions-binarystring.html

SELECT encode(digest('blue', 'sha1'), 'hex');
                  encode
------------------------------------------
 4c9a82ce72ca2519f38d0af0abbb4cecb9fceca9
(1 row)

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/

pgsql-general by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: can you tell me how to use rollback work in 'pgsql' function? and give me a exsample?
Next
From: Janning Vygen
Date:
Subject: Re: getting the ranks out of items with SHARED