I-Fernet iwumtapo wezincwadi wokubethela we-symmetric e-Python ohlinzeka ngokubethela okuphephile nokusebenziseka kalula kwedatha ebucayi. Ikesi elilodwa elivamile lokusebenzisa i-Fernet ukubethela idatha ngaphambi kokuyigcina kufayela le-CSV, ukuqinisekisa ukuthi abantu abagunyaziwe kuphela abangakwazi ukuyifinyelela. Kodwa-ke, ukususa ukubethela kwalezi zinhlamvu ezibethelwe kufayela le-CSV kungaba yinto ekhohlisayo, ikakhulukazi uma usebenzisa umtapo wezincwadi we-Pandas.
Kulesi sihloko, sizoxoxa ngesixazululo senkinga yokususa ukubethela kwezintambo ezilondolozwe kufayela le-CSV kusetshenziswa i-Fernet ne-Panda. Sizohlinzeka ngencazelo yesinyathelo nesinyathelo sekhodi, futhi sijule emisebenzini efanelekile kanye nemitapo yolwazi ehilelekile kule nqubo.
Okokuqala, ake sixoxe ngenkinga ngokuningiliziwe. Uma usebenzisa ukubethela kwe-Fernet ukuze uvikele idatha ngaphambi kokuyigcina efayeleni le-CSV, kungase kube inselele ukususa ukubethela kwedatha emuva kuyilapho usebenzisa i-Pandas ekufundeni ifayela. Amayunithi ezinhlamvu abethelwe adinga ukuphathwa okufanele ukuze kuqinisekiswe ubuqotho bawo phakathi nokukhishwa kwekhodi.
Isixazululo Senkinga
Isixazululo esingaba khona sale nkinga ukusebenzisa imisebenzi yangokwezifiso futhi ukuyisebenzise kuhlaka lwedatha olutholwe kufayela le-CSV. Sizodala umsebenzi wokususa ukubethela kwezintambo ezibethelwe sisebenzisa umtapo wezincwadi we-Fernet, bese sifaka lo msebenzi kuhlaka lwedatha ye-Pandas equkethe idatha ebethelwe.
Nansi incazelo yesinyathelo ngesinyathelo yekhodi:
1. Okokuqala, sidinga ukungenisa imitapo yolwazi edingekayo:
import pandas as pd from cryptography.fernet import Fernet
2. Ngemva kwalokho, masikhiqize ukhiye we-Fernet futhi sibethele idatha ethile yesampula. Cabanga ukuthi sibethele idatha elandelayo futhi sayilondoloza efayeleni le-CSV eliqanjwe ngokuthi “encrypted_data.csv” elinamakholomu amabili “idatha” kanye “nombhalo ofihliwe”:
key = Fernet.generate_key()
cipher_suite = Fernet(key)
data = "This is a sample text."
encrypted_data = cipher_suite.encrypt(data.encode("utf-8"))
3. Manje, masidale umsebenzi wokususa ukubethela kwezintambo ezibethelwe ngokhiye onikeziwe we-Fernet:
def decrypt_string(encrypted_string, fernet_key):
cipher_suite = Fernet(fernet_key)
return cipher_suite.decrypt(encrypted_string.encode("utf-8")).decode("utf-8")
4. Singafunda ifayela le-CSV eliqukethe idatha ebethelwe sisebenzisa i-Pandas:
csv_data = pd.read_csv('encrypted_data.csv')
5. Okokugcina, sebenzisa umsebenzi othi 'decrypt_string' kukholamu ebethelwe yohlaka lwedatha usebenzisa indlela ethi 'sebenzisa' futhi ugcine idatha esusiwe kukholomu entsha. Qaphela ukuthi udinga ukudlulisa ukhiye njenge-agumenti eyengeziwe endleleni 'yenza':
csv_data['decrypted'] = csv_data['encrypted'].apply(decrypt_string, fernet_key=key)
I-Fernet Library
I-Fernet iyilabhulali ye-cryptographic ethandwayo ePython enikeza izindlela ezilula ukuzisebenzisa zokubethela nokususa idatha nge-cryptography ye-AES symmetric-key. Ilabhulali iqinisekisa ukuthi idatha ebethelwe kusetshenziswa i-Fernet ayikwazi ukushintshwa noma ukufundwa ngaphandle kwekhiye, okuqinisekisa ubumfihlo bedatha kanye nobuqotho. I-Fernet isebenzisa ikhodi ye-URL-safe/base64 yama-ciphertexts, okwenza ifaneleke ukugcina idatha ebethelwe kumafayela noma kuma-database.
I-Pandas Library
I-Pandas iwumtapo wolwazi wokuphathwa kwedatha ovulekile kanye nokuhlaziywa kwedatha ku-Python. Ihlinzeka ngezakhiwo zedatha, njenge-Series kanye ne-DataFrame, kanye nemisebenzi ehlukahlukene yokuphatha, ukuguqula, kanye nokubona idatha ngeso lengqondo. I-Pandas iwusizo kakhulu ekusebenzeni ngedatha ehlelekile noma yethebula, njengamafayela e-CSV noma izizindalwazi ze-SQL. Lo mtapo wolwazi wenza kube lula izici eziningi zokuphathwa kwedatha, okwenza kube ithuluzi elibalulekile lokuhlaziywa kwedatha kanye nokufunda komshini.
Sengiphetha, ukususa amayunithi ezinhlamvu abethelwe alondolozwe kufayela le-CSV kusetshenziswa i-Fernet ne-Pandas kungafinyelelwa ngokulandela izinyathelo ezinikezwe kulesi sihloko. Ngokwenza umsebenzi wokususa ukubethela ngokwezifiso futhi siwusebenzise kuhlaka lwedatha, singakwazi ukususa ukubhala ngokuyimfihlo idatha ebucayi egcinwe kufayela le-CSV.