Re: Using bytea field... - Mailing list pgsql-general

From rsmogura
Subject Re: Using bytea field...
Date
Msg-id ead8b008a40e545977e58d2c051642d7@mail.softperience.eu
Whole thread Raw
In response to Re: Using bytea field...  (Sim Zacks <sim@compulab.co.il>)
List pgsql-general
 On Wed, 09 Mar 2011 13:27:16 +0200, Sim Zacks wrote:
> MD5 is not collision resistant (using the immortal words of wikipedia
> http://en.wikipedia.org/wiki/MD5).
>
> This means that it is possible that multiple images will return the
> same md5 hash.
>
> The question is, if it screws up and says that an image already
> exists and then returns a different image when querying for it, how
> bad would that be.
>
>
> I've seen a lot of discussions in the past few years about how
> problematic the md5 approach is.
>
>
> Sim
>
>
> On 03/08/2011 09:06 PM, Andy Colson wrote:
>
>> On 3/8/2011 12:28 PM, Andre Lopes wrote:
>>> Hi,
>>>
>>> I'm using a bytea field to store small images in base64. I need to
>>> know if I can compare bytea rows for equality. To know for example
>>> if
>>> the file already exists in the database, this is possible with
>>> bytea?
>>>
>>> Best Regads,
>>>
>>
>> You dont need to use both base64 and bytea.  You can store base64 in
>> text field... or just store the photo as-is into bytea.
>>
>> To answer your question: it would be faster if you computed an md5
>> (or sha or whatever) and stored it in the db, then you could check to
>> see if an image exists by searching for the md5, which would be way
>> faster, an send a lot less data over the wire.
>>
>> -Andy
>>

 Every hash algorithm is not collision resistant, and in theory You need
 to check equality of images. Hash function says that if hashes are
 different, then images are different. It not says if hashes are same
 then images are same.

 Regards,
 Radek

pgsql-general by date:

Previous
From: Sim Zacks
Date:
Subject: Re: Using bytea field...
Next
From: Chetan Suttraway
Date:
Subject: Re: Composite index structure