Yakapedzwa: Fernet% 3A Haikwanise kubvisa tambo dzakachengetwa mucsv nemapanda

Fernet iyi symmetric encryption raibhurari muPython inopa yakachengeteka uye iri nyore-kushandisa-encryption ye data inonzwisisika. Imwe yakajairika yekushandisa-kesi yeFernet ndeye encrypt data usati waichengeta mu CSV faira, kuve nechokwadi chekuti mapato ane mvumo chete anogona kuiwana. Nekudaro, kutsikisa tambo idzi dzakavharirwa mufaira reCSV kunogona kuita hunyengeri, kunyanya kana uchishandisa raibhurari yePandas.

Muchinyorwa chino, tichakurukura mhinduro kudambudziko rekubvisa tambo dzakachengetwa mufaira reCSV uchishandisa Fernet nePandas. Isu tichapa nhanho-ne-nhanho tsananguro yekodhi, uye nekuongorora mumabasa akakodzera uye maraibhurari anobatanidzwa mukuita.

Kutanga, ngatikurukurei dambudziko racho zvakadzama. Paunenge uchishandisa Fernet encryption kuchengetedza data usati waichengeta mu CSV faira, zvingave zvakaoma kudhipfenyura data kumashure uchishandisa Pandas pakuverenga faira. Iwo tambo dzakavharidzirwa dzinoda kubata kwakakodzera kuti ive nechokwadi chekutendeseka kwavo panguva yedecryption.

Mhinduro kuDambudziko

Iyo inogona kugadzirisa dambudziko iri kushandisa tsika mabasa uye kuaisa kune iyo dataframe inowanikwa kubva kuCSV faira. Isu tichagadzira basa rekudzima tambo dzakavharirwa tichishandisa raibhurari yeFernet, tobva taisa basa iri kuPandas dataframe ine data rakavharidzirwa.

Heino nhanho-ne-nhanho tsananguro yekodhi:

1. Chekutanga, tinoda kuunza kunze maraibhurari anodiwa:

import pandas as pd
from cryptography.fernet import Fernet

2. Zvadaro, ngatigadzire kiyi yeFernet uye tivhare imwe data yemuenzaniso. Fungidzira kuti takanyora data rinotevera ndokurichengeta mufaira reCSV rakanzi "encrypted_data.csv" ine makoramu maviri "data" uye "yakavharirwa":

key = Fernet.generate_key()
cipher_suite = Fernet(key)
data = "This is a sample text."
encrypted_data = cipher_suite.encrypt(data.encode("utf-8"))

3. Zvino, ngatigadzirei basa rekudzima tambo dzakavharirwa nekiyi yakapihwa 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. Tinogona kuverenga iyo CSV faira ine encrypted data tichishandisa Pandas:

csv_data = pd.read_csv('encrypted_data.csv')

5. Pakupedzisira, shandisa 'decrypt_string' mukoramu wakavharidzirwa wedataframe uchishandisa nzira ye'apply' uye chengetedza data yakavharwa mumutsara mutsva. Ziva kuti iwe unofanirwa kupfuudza kiyi seimwe nharo mune iyo 'apply' nzira:

csv_data['decrypted'] = csv_data['encrypted'].apply(decrypt_string, fernet_key=key)

Fernet Library

fernet iraibhurari yakakurumbira yekriptographic muPython inopa-nyore-kushandisa-nzira dzekuvharidzira uye kubvisa data neAES symmetric-kiyi cryptography. Raibhurari inovimbisa kuti data yakavharidzirwa uchishandisa Fernet haigone kufambiswazve kana kuverengwa pasina kiyi, kuve nechokwadi chekuvanzika kwedata uye kutendeseka. Fernet inoshandisa URL-safe/base64 encoding yeciphertexts, izvo zvinoita kuti ive yakakodzera kuchengetedza data rakavharidzirwa mumafaira kana dhatabhesi.

Pandas Library

pandas ndeye yakavhurika-sosi data manipulation uye data yekuongorora raibhurari muPython. Inopa zvimiro zve data, seSeries uye DataFrame, uye akasiyana mabasa ekubata, kushandura, uye kuona data. Pandas inonyanya kubatsira pakushanda neyakarongwa kana tabular data, senge CSV mafaera kana SQL dhatabhesi. Iyi raibhurari inorerutsa akawanda maficha ekugadzirisa data, ichiita chishandiso chakakosha chekuongorora data uye kudzidza muchina.

Mukupedzisa, decrypting encrypted tambo dzakachengetwa muCSV faira uchishandisa Fernet nePandas inogona kuwanikwa nekutevera matanho akapihwa muchinyorwa chino. Nekugadzira iyo tsika decryption basa uye nekuishandisa kune iyo dataframe, isu tinokwanisa kunyatso decrypt data inonzwisa tsitsi yakachengetwa muCSV faira.

Related posts:

Leave a Comment