Re: (psuedo) random serial for PK or at least UNIQUE NOT NULL?

From: Cédric Villemain <cedric(dot)villemain(dot)debian(at)gmail(dot)com>
To: Vincenzo Romano <vincenzo(dot)romano(at)notorand(dot)it>
Cc: Alvaro Herrera <alvherre(at)commandprompt(dot)com>, PostgreSQL General <pgsql-general(at)postgresql(dot)org>
Subject: Re: (psuedo) random serial for PK or at least UNIQUE NOT NULL?
Date: 2010-05-05 10:43:22
Message-ID: m2ze94e14cd1005050343x3a0e5c8fi89085d62616ebf34@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

2010/5/5 Vincenzo Romano <vincenzo(dot)romano(at)notorand(dot)it>:
> 2010/5/4 Alvaro Herrera <alvherre(at)commandprompt(dot)com>:
>> Vincenzo Romano wrote:
>>> Hi all.
>>>
>>> I'm willing to change an BIGINT ID column (actually a SERIAL8) with a
>>> BIGINT whose valules are (pseudo)random.
>>> The main objective is to avoid guessability.
>>> I whish I could also use it as the PK (as it's now) but that's not
>>> really important now.
>>> Any hint?
>>
>> http://wiki.postgresql.org/wiki/Pseudo_encrypt
>
> That's a nice starting point.
> I should apply that function twice for each 32-bit chunk of a
> 64-bit BIGINT and then merge the results into a single BIGINT ...
> Boring but doable!

Hum, not sure. If I understand correctly, you won't be able to get the
original int64 from the generated one.
Better rewrite the function for 2^64 isn't it ?

>
> --
> Vincenzo Romano
> NotOrAnd Information Technologies
> NON QVIETIS MARIBVS NAVTA PERITVS
>
> --
> Sent via pgsql-general mailing list (pgsql-general(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>

--
Cédric Villemain

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Vincenzo Romano 2010-05-05 10:46:31 Re: (psuedo) random serial for PK or at least UNIQUE NOT NULL?
Previous Message Thom Brown 2010-05-05 09:12:34 Re: alter table alter type CASCADE