Python Kriptografi Modülleri

Bu bölümde, Python'daki çeşitli kriptografi modülleri hakkında ayrıntılı bilgi edineceksiniz.

Kriptografi Modülü

Tüm tarifleri ve ilkelleri içerir ve Python'da üst düzey bir kodlama arayüzü sağlar. Aşağıdaki komutu kullanarak kriptografi modülünü kurabilirsiniz -

pip install cryptography

Kod

Şifreleme modülünü uygulamak için aşağıdaki kodu kullanabilirsiniz -

from cryptography.fernet import Fernet
key = Fernet.generate_key()
cipher_suite = Fernet(key)
cipher_text = cipher_suite.encrypt("This example is used to demonstrate cryptography module")
plain_text = cipher_suite.decrypt(cipher_text)

Çıktı

Yukarıda verilen kod aşağıdaki çıktıyı üretir -

Burada verilen kod, parolayı doğrulamak ve karmasını oluşturmak için kullanılır. Ayrıca, kimlik doğrulama amacıyla parolayı doğrulama mantığını da içerir.

import uuid
import hashlib

def hash_password(password):
   # uuid is used to generate a random number of the specified password
   salt = uuid.uuid4().hex
   return hashlib.sha256(salt.encode() + password.encode()).hexdigest() + ':' + salt

def check_password(hashed_password, user_password):
   password, salt = hashed_password.split(':')
   return password == hashlib.sha256(salt.encode() + user_password.encode()).hexdigest()

new_pass = input('Please enter a password: ')
hashed_password = hash_password(new_pass)
print('The string to store in the db is: ' + hashed_password)
old_pass = input('Now please enter the password again to check: ')

if check_password(hashed_password, old_pass):
   print('You entered the right password')
else:
   print('Passwords do not match')

Çıktı

Scenario 1 - Doğru bir şifre girdiyseniz, aşağıdaki çıktıyı bulabilirsiniz -

Scenario 2 - Yanlış şifre girersek, aşağıdaki çıktıyı bulabilirsiniz -

Açıklama

Hashlibpaketi, şifreleri bir veritabanında saklamak için kullanılır. Bu programda,salt karma işlevini uygulamadan önce parola dizesine rastgele bir sıra ekleyen kullanılır.