Re: [Q] string to int hash function for small range - Mailing list pgsql-general

From John R Pierce
Subject Re: [Q] string to int hash function for small range
Date
Msg-id 49B33A2D.4070601@hogranch.com
Whole thread Raw
In response to [Q] string to int hash function for small range  ("V S P" <toreason@fastmail.fm>)
Responses Re: [Q] string to int hash function for small range  (Martin Gainty <mgainty@hotmail.com>)
List pgsql-general
V S P wrote:
> I would like to have a function
> given a user id varchar(64) to get a hash number between 0 and 255.
>
> I first tried md5 but the number it returns is very big and cannot
> be converted to an INT
>
> there is likely a way to simply add ascii values of the userId together
> to get a small integer, but wanted to know if there are any other
> 'built-in' ways
>
> this is to get the database id based on user id.
>

maybe take the last byte (2 chars) of the md5, and convert to integer?
something like....


    get_byte(decode(md5(id),'hex'),16)



pgsql-general by date:

Previous
From: "V S P"
Date:
Subject: [Q] string to int hash function for small range
Next
From: hubert depesz lubaczewski
Date:
Subject: Re: [Q] string to int hash function for small range