Python

Membuat Hash String MD5 di Python

Kriptografi dalam bentuk Hash String banyak digunakan untuk digital signatures, manipulation detection, fingerprints, message integrity check, hash tables, password dan masih banyak lagi. Tentunya, Hash String juga digunakan dalam mengirimkan suatu pesan melalui jaringan sehingga pesan tersebut aman atau menyimpan pesan tersebut ke dalam basis data. Kalau kamu masih belum memahami apa itu Hash String, berikut penjelasan singkat mengenai apa itu Hash String. Hash String merupakan sebuah string yang di-encode dengan algoritma tertentu hingga menjadi bentuk alfanumerik dengan panjang tertentu. Tugasnya adalah mengubah bentuk awal string menjadi bentuk yang sulit dibaca. Hash String sendiri dibagi menjadi reversible and irreversible. Reversible merupakan string yang dapat dikembalikan ke bentuk awal, sedangkan Irreversible merupakan string yang tidak dapat dikembalikan ke bentuk awal.

Terdapat beberapa algoritma yang dapat digunakan untuk mengubah suatu string, yaitu :

  1. MD5
  2. SHA1
  3. SHA224
  4. SHA256
  5. SHA384
  6. SHA512

Dalam implementasi kode di Python, kamu dapat menggunakan library hashlib untuk membuat Hash String. Pada artikel kali ini, kamu hanya akan melihat implementasi MD5 pada kode Python menggunakan library hashlib yaitu MD5 hash. Fungsi hash ini menerima sekuens dalam bentuk bytes dan mengembalikan nilai hash 128 bit. Fungsi ini biasanya banyak digunakan untuk pengecekan data integrity tapi memiliki masalah keamanan.

Fungsi Terkait :

  • encode() : mengubah string menjadi bytes sehingga dapat diproses oleh fungsi hash.
  • digest() : mengembalikan data yang telah di encode dalam format byte.
  • hexdigest() : mengembalikan data yang telah di encode dalam format hexadecimal.

Membuat Hash String MD5 di Python

Berikut adalah implementasi kode MD5 hash dengan keluaran dalam format byte

import hashlib

hasil = hashlib.md5(b'Inpows')

print("Hasil dalam bentuk MD5 : ", end="")
print(hasil.digest())

Hasil keluaran :

Hasil dalam bentuk MD5 : b'\xe7\xe3<6p\x14M^]9\x97l,^\x13\x10'

Process finished with exit code 0

Berikut adalah implemetasi kode MD5 hash dengan keluaran dalam format hexadecimal

 

import hashlib

str = "Inpows"

hasil = hashlib.md5(str.encode())

print("Hasil dalam bentuk MD5 :", end="")
print(hasil.hexdigest())

 

Hasil keluaran :

Hasil dalam bentuk MD5 :e7e33c3670144d5e5d39976c2c5e1310

Process finished with exit code 0