Introduction to Hashlib Module in Python and find out hash for a file

In this tutorial, you are going to learn about the hashlib module of Python and a program to find out the hash for a file. Hashlib module is an in-built module of python and it provides a common interface to many hash functions. It will create a hash or message digest for the given source file. The hash or message digest will be used in cryptography.
md5(), sha1(), sha224(), sha256(), sha384(), sha512(), blake2b(), blake2s(), sha3_224, sha3_256, sha3_384, sha3_512, shake_128, and shake_256.
Above are the guaranteed algorithms that will be available on your platform to find the hash code.

Methods used on hash objects in hashlib module in Python

  1. update(data): Update the hash object with the bytes of data.
  2. digest()
  3.  hexdigest(): It is like the digest() except that the digest returned as a string of double length and hexdigest contains only the hexadecimal digits.
  4. copy()
    import hashlib as h
    
    # use of md5() with binary string
    m=h.md5()
    m.update(b'one two three')
    print("The digest result is:",m.digest())
    print("Hexdigest of binary is:",m.hexdigest())
    
    # use of sha1() with string
    txt='one two three'
    print(txt.encode())
    n=h.sha1()
    n.update(txt.encode())
    print("String digest:",n.digest())
    print("String hexdigest:",n.hexdigest())
    

    Output:-

    The digest result is: b'^O\xe0\x15W\x03\xdd\xe4g\xf3\xab#No\x96o'
    Hexdigest of binary is: 5e4fe0155703dde467f3ab234e6f966f
    b'one two three'
    String digest: b'\xa1\x06\x00\xb1)%;\x1a\xaa\xa8`w\x8b\xef C\[email protected]\xc7\x15'
    String hexdigest: a10600b129253b1aaaa860778bef2043ee40c715

Python program to get the hash of a source file

  1. Import the module hashlib.
  2. Create a hash object.
  3. Open the file ‘fyi.txt’.
  4. Update the object with the data in file that come in s.
  5. Digest the bytes that will pass in the update().
  6. Print the output.
import hashlib as h
# Create a objet
m=h.md5()
# Open the file
for s in open('fyi.txt','rb'):
    # update the object
    m.update(s)
    s=m.hexdigest()
print(s)

Output:-

3ea153aa51924e95dbaf7d4f87c2ce3041c765b0

Check other tutorials on python:

Leave a Reply

Your email address will not be published. Required fields are marked *