Python İle SHA256 ve MD5 Hash Almak
Hashing ve Encryption arasındaki farkı anlatmakla başlayan serüvenimiz tam gaz devam ediyor. Artık bu farkı öğrendiğimize göre ilk hashlerimizi almaya başlayabiliriz. Üstelik Python tutkunu olarak bu işlemin ne kadar basit olduğunu hazırsanız sizlere göstereyim 🙂
Eğer kriptografi konusuna aşina değilseniz öncelikle iki önceki yazım olan Hash Almak Nedir? Encryption İle Arasındaki Farklar Nelerdir? başlıklı makaleyi okumanızı şiddetle tavsiye ederim. Çünkü taşlar yerine tam oturmadan ve ne için bu fonksiyonları kullandığınızı bilmeden direkt kod yazmanızı istemiyorum. Eğer bu farkı zaten biliyorsanız aşağıdan devam edelim.
Python kullananlar, Hash almak için Hashlib kütüphanesini kullanabilirler. En azından ben bu kütüphaneyi kullanıyorum ve oldukça başarılı olduğunu düşünüyorum. Eğer sizde bu kütüphaneyi kullanmaya karar verdiyseniz projemize kütüphaneyi indirerek ve kodumuza dahil ederek başlayalım:
1-) Önce pip install hashlib
ile kütüphaneyi yükleyin
2-) Kütüphaneyi projeye dahil edin:
import hashlib as hasher
3-) Hangi algoritma ile şifrelemeye karar verdiyseniz onu tanımlayalım. Bu arada hashlib kütüphanesiyle şu algoritmaları kullanabilirsiniz: sha1()
, sha224()
, sha256()
, sha384()
, sha512()
, blake2b()
, blake2s()
ve md5()
. Ben bu yazıda SHA256 kullanmak istiyorum, siz değiştirebilirsiniz:
sifreleyici = hasher.sha256()
4-) Hash almak istediğimiz içeriği belirleyip UTF-8
ile encode edelim ve hashini alalım:
metin = "Kerteriz Blog ile Hash nasıl alınır"
sifreleyici.update(metin.encode("utf-8"))
5-) Hash alma işlemimiz bittiğine göre artık çıktımızı ekrana basabiliriz:
hash = sifreleyici.hexdigest()
print(hash)
Ekran Çıktısı >> a6bae9c753b80aa2abbb10b314675d91d6986e0ec5142d257b8d97927a64cd57
ÖZET:
Eğer yukarıdaki 5 küçük adımı bir noktada toplarsak kodumuz ve ekran çıktımız şu şekilde olacaktır:
import hashlib as hasher
sifreleyici = hasher.sha256()
metin = "Kerteriz Blog ile Hash nasıl alınır"
sifreleyici.update(metin.encode("utf-8"))
hash = sifreleyici.hexdigest()
print(hash)
Ekran Çıktısı >> a6bae9c753b80aa2abbb10b314675d91d6986e0ec5142d257b8d97927a64cd57
SONUÇ: Python ile basit bir şekilde artık hashlerinizi alabilir ve kullanabilirsiniz. İstediğiniz algoritmayı sifreleyici satırında tanımlayarak değişkenlik gösterebilirsiniz. Ayrıca aklınıza takılan sorular için aşağıdaki yorum bölümünü kullanmanızı öneririm. İyi çalışmalar..