MD5 hash for url and utf unicode converting to ascii

J

joe shoemaker

I would like to convert url into md5 hash. My question is that md5
hash will create collision at 2^64. If you do long(value,16), where
value is the md5 hash string, would value returned from long(value,
16) be unique as long as md5 hashed string is unique? when you move
md5 hashed string to long, where will the collision occur, at anything

hash = md5.new()
hash.update("some_url_")
value = hash.digest()
value_in_int = long(value, 16) #would this be unique as long as
hashed string is unique(i.e < 2^64)
hash = md5.new() hash.update("some_url_") value = hash.digest()
value_in_int = long(value, 16) #would this be unique as long as hashed
string is unique(i.e < 2^64)

Do I need to also convert the value to base64.encodestring(value)?
What is the purpose of base64.encodestring?

For unicode encoding, I can do, md5.update(value.encode('utf-8')) to
give me ascii values.


Thank you,
j
 
D

Daniel Pitts

joe said:
I would like to convert url into md5 hash. My question is that md5
hash will create collision at 2^64. If you do long(value,16), where
value is the md5 hash string, would value returned from long(value,
16) be unique as long as md5 hashed string is unique? when you move
md5 hashed string to long, where will the collision occur, at anything
MD5's are not meant to be unique keys. They are designed to make it
difficult to alter the original value and maintain the same hash. This
prevents both errors and malevolent data tampering.
Also note, I believe MD5 are typically 128 bits long, not 64, but the
calculation for collision is more complicated than that.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,767
Messages
2,569,573
Members
45,046
Latest member
Gavizuho

Latest Threads

Top