From: | Alfred Perlstein <bright(at)wintelcom(dot)net> |
---|---|
To: | PostgreSQL General <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: storing binary data |
Date: | 2000-10-17 03:56:33 |
Message-ID: | 20001016205633.L272@fw.wintelcom.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
* Neil Conway <nconway(at)klamath(dot)dyndns(dot)org> [001016 20:41] wrote:
> On Mon, Oct 16, 2000 at 11:22:40PM -0400, Tom Lane wrote:
> > Neil Conway <nconway(at)klamath(dot)dyndns(dot)org> writes:
> > > I want to store some binary data in Postgres. The data is an
> > > MD5 checksum of the user's password, in binary. It will be
> > > exactly 16 bytes (since it is a one-way hash).
> >
> > > Can I store this safely in a CHAR column?
> >
> > No. CHAR and friends assume there are no null (zero) bytes.
> > In MULTIBYTE setups there are probably additional constraints.
> >
> > You could use bytea, but I would recommend converting the checksum
> > to a hex digit string and then storing that in a char-type field.
> > Hex is the usual textual representation for MD5 values, no?
>
> It is, but (IMHO) it's a big waste of space. The actual MD5 digest is
> 128 bits. If stored in binary form, it's 16 bytes. If stored in hex
> form (as ASCII), it's 32 characters @ 1 byte per character = 32 bytes.
> In Unicode, that's 64 bytes (correct me if I'm wrong).
>
> It's not a huge deal, but it would be nice to store this efficiently.
> Is this possible?
Why not use base64? It's pretty gross but might work for you.
-Alfred
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2000-10-17 03:57:36 | Re: storing binary data |
Previous Message | Neil Conway | 2000-10-17 03:40:09 | Re: storing binary data |