Differences between revisions 5 and 6
Revision 5 as of 2008-11-15 14:00:13
Size: 1087
Editor: localhost
Comment: converted to 1.6 markup
Revision 6 as of 2009-12-27 05:18:10
Size: 1103
Editor: adsl-71-141-121-43
Comment:
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
import md5 import hashlib
Line 15: Line 15:
print md5.new( key_string ).hexdigest() print hashlib.md5( key_string ).hexdigest()
Line 32: Line 32:
import md5 import hashlib
Line 37: Line 37:
hash = md5.new( salt + key_string ).hexdigest() hash = hashlib.md5( salt + key_string ).hexdigest()

MD5 Passwords

It's very easy to create MD5 passwords with Python-

You just:

   1 import hashlib
   2 
   3 key_string = raw_input( "Key to turn into an MD5 password? " )
   4 
   5 print hashlib.md5( key_string ).hexdigest()

ex: "robots" turns into "27f5e15b6af3223f1176293cd015771d"

The "hexdigest" form is the form you frequently find used in databases and in online forums.

Salting

A good idea is to include a 'salt' with the hash as well, which will prevent people using a dictionary with md5 hashes of common passwords. When you check a password, just add the salt to the front of the password and hash it. The salt can be any random string.

Something like this:

   1 import hashlib
   2 
   3 key_string = "SecretPassword"
   4 salt = "1Ha7"
   5 
   6 hash = hashlib.md5( salt + key_string ).hexdigest()
   7 print "%s:%s" % (salt, hash) # Store these

AnthonyBriggs

See Also

Discussion

Md5Passwords (last edited 2015-07-25 04:58:14 by RyanOHoro)

Unable to edit the page? See the FrontPage for instructions.