Casharkaan waxaad ku baran doontaa sida looqoro ama looqariyo xogta, tusaale. xarig qoraal ah adoo adeegsanaya maktabadda loo yaqaan 'cryptography library' ee Python.
Qarsoodi waa hab u sameynta macluumaadka qaab sidan oo kaliya dhinacyada idman ay u heli karaan. Waxay noo oggolaaneysaa inaan si ammaan ah u ilaalino xogta aan dooneyno in qof uun arko ama arko.
La xiriira:
Tusaalahan, waxaan adeegsan doonnaa qaabab isku dheelitiran, oo macnaheedu yahay isla furaha aan u adeegsan jirnay xogta, sidoo kale waxaa loo isticmaali karaa si loo khafiifiyo.
Maktabadda loo yaqaan 'cryptography library' ee aan halkan ku isticmaalno waxaa lagu dhisay dusha sare ee algorithm-ka AES.
Marka hore, waxaan u baahanahay inaan rakibno maktabadda 'cryptography':
pip3 install cryptography
Laybareeriga loo yaqaan 'cryptography library', waxaan u baahannahay inaan ka soo degno Fernet
oo aad bilowdid inaad soo saarto fure - furahan waxaa looga baahan yahay qaabdhismeedka sirta / samaynta.
Si loo abuuro furaha, waxaan ugu yeernaa generate_key()
habka:
from cryptography.fernet import Fernet def generate_key():
'''
Generates a key and save it into a file
'''
key = Fernet.generate_key()
with open('secret.key', 'wb') as key_file:
key_file.write(key)
Waxaan kaliya u baahanahay inaan fulino habka kor ku xusan hal mar si aan u abuurno fure.
Markaan soosaarnay fure, waxaan ubaahanahay inaan kufuro furaha qaabkeena si aan uqarino xogta:
def load_key():
'''
Loads the key named `secret.key` from the current directory.
'''
return open('secret.key', 'rb').read()
Hadda, waxaan diyaar u nahay inaan fariin sir ah. Tani waa geedi socod saddex tallaabo ah:
encrypt()
habkafarriinta farriinta:
message = 'message I want to encrypt'.encode()
bilow fasalka Fernet:
f = Fernet(key)
sir fariinta:
encrypted_message = f.encrypt(message)
Hoos waxaa ku qoran tusaale buuxa oo shaqo ah oo ku saabsan sirta farriinta Python:
from cryptography.fernet import Fernet def generate_key():
'''
Generates a key and save it into a file
'''
key = Fernet.generate_key()
with open('secret.key', 'wb') as key_file:
key_file.write(key) def load_key():
'''
Load the previously generated key
'''
return open('secret.key', 'rb').read() def encrypt_message(message):
'''
Encrypts a message
'''
key = load_key()
encoded_message = message.encode()
f = Fernet(key)
encrypted_message = f.encrypt(encoded_message)
print(encrypted_message) if __name__ == '__main__':
encrypt_message('encrypt this message')
Wax soo saarka:
b'gAAAAABesCUIAcM8M-_Ik_-I1-JD0AzLZU8A8-AJITYCp9Mc33JaHMnYmRedtwC8LLcYk9zpTqYSaDaqFUgfz-tcHZ2TQjAgKKnIWJ2ae9GDoea6tw8XeJ4='
Si loo tirtiro farriinta, waxaan kaliya u yeernaa decrypt()
Habka ka socda Fernet
maktabad Xusuusnow, waxaan sidoo kale u baahanahay inaan sidoo kale rarno furaha, maxaa yeelay furaha ayaa loo baahan yahay si lookala diro fariinta.
from cryptography.fernet import Fernet def load_key():
'''
Load the previously generated key
'''
return open('secret.key', 'rb').read() def decrypt_message(encrypted_message):
'''
Decrypts an encrypted message
'''
key = load_key()
f = Fernet(key)
decrypted_message = f.decrypt(encrypted_message)
print(decrypted_message.decode()) if __name__ == '__main__':
decrypt_message(b'gAAAAABesCUIAcM8M-_Ik_-I1-JD0AzLZU8A8-AJITYCp9Mc33JaHMnYmRedtwC8LLcYk9zpTqYSaDaqFUgfz-tcHZ2TQjAgKKnIWJ2ae9GDoea6tw8XeJ4=')
Wax soo saarka:
encrypt this message