In this section, we will see how SHA and MD5 hash work together.
We are going to tie everything previously done together to form one big script. This will output three versions of SHA hashes and also an MD5 hash, so the user can choose which one they would like to use:
import hashlib message = raw_input("Enter the string you would like to hash: ") md5 = hashlib.md5(message) md5 = md5.hexdigest() sha1 = hashlib.sha1(message) sha1 = sha1.hexdigest() sha256 = hashlib.sha256(message) sha256 = sha256.hexdigest() sha512 = hashlib.sha512(message) sha512 = sha512.hexdigest() print "MD5 Hash =", md5 print "SHA1 Hash =", sha1 print "SHA256 Hash =", sha256 print "SHA512 Hash =", sha512 print "End of list."
Once again, after importing the correct module into this script, we need to receive the user input that we wish to turn into an encoded string:
import hashlib message = raw_input('Please enter the string you would like to hash: ')
From here, we can start sending the string through all of the different encoding methods and ensuring they are passed through hexdigest()
so the output becomes readable:
md5 = hashlib.md5(message) md5 = md5.hexdigest() sha1 = hashlib.sha1(message) sha1 = sha1.hexdigest() sha256 = hashlib.sha256(message) sha256 = sha256.hexdigest() sha512 = hashlib.sha512(message) sha512 = sha512.hexdigest()
Once we have created all of the encoded strings, it is simply a matter of printing each of these to the user:
print "MD5 Hash =", md5 print "SHA1 Hash =", sha1 print "SHA256 Hash =", sha256 print "SHA512 Hash =", sha512 print "End of list."
Here is an example of the script in action:
Enter the string you would like to hash: test MD5 Hash = 098f6bcd4621d373cade4e832627b4f6 SHA1 Hash= a94a8fe5ccb19ba61c4c0873d391e987982fbbd3 SHA256 Hash= 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08 SHA512 Hash= ee26b0dd4af7e749aa1a8ee3c10ae9923f618980772e473f8819a5d4940e0 db27ac185f8a0e1d5f84f88bc887fd67b143732c304cc5fa9ad8e6f57f50028a8ff End of list.