MD5 is an asymmetric hash -- not an encryption mechanism. You can't "decrypt" an MD5. If you know the hashed contents are limited to a (short) set of possibilities, you can use a Rainbow Table to attempt to brute-force reverse the hash, but this will not work in the general case.
MD5 is a one-way hash. It cannot be decrypted. The closest thing to decrypting an MD5 hash would be to do a lookup against a pre-generated rainbow table. Also, I'm not sure what you mean by "I have the key". There is no "key" in an MD5 hash. Perhaps you are thinking of a salt? If your data has a salt value incorporated prior to hashing, the rainbow table approach probably won't be practical anyway.
To create a MD5 hash of a string in Python you do as follows:
import hashlib m = hashlib.md5() m.update("String to Hash") echo m.digest() # '\xed\xa5\x8bA-nU\xa2\xee\xbb[_s\x130\xbd' echo m.hexdigest() # its more common to show hashes as a hex string # 'eda58b412d6e55a2eebb5b5f731330bd'
Message-Digest algorithm 5 is a widely-used cryptographic hash function with a 128-bit hash value. Encryption has 2 way : encrypt - decript , hash has one way - there is no decryption possible. BUT with database hash IS POSSIBLE to solve this issue.
See this sites :
www.rednoize.com – 50,709,274 Hash in database
www.md5oogle.com – 6,353,625 Hash in database
www.hashmash.com – 1,611,191 Hash in database
www.gdataonline.com 1,155,613 Hash in database
www.md5decryption.com – 872,145 Hash in database
www.md5decrypter.com – 583,441 Hash in database
www.md5decrypter.co.uk – 41,568,541 Hash in database
www.macrosoftware.ro – 5,403 Hash in database