E zgjidhur: Fernet%3A Nuk mund të deshifrojë vargjet e ruajtura në csv me panda

Fernet është një bibliotekë simetrike enkriptimi në Python që ofron kriptim të sigurt dhe të lehtë për t'u përdorur për të dhëna të ndjeshme. Një rast i zakonshëm i përdorimit për Fernet është të kriptoni të dhënat përpara se t'i ruani ato në një skedar CSV, duke siguruar që vetëm palët e autorizuara mund t'i qasen. Sidoqoftë, deshifrimi i këtyre vargjeve të koduara në një skedar CSV mund të jetë pak i ndërlikuar, veçanërisht kur përdorni bibliotekën Pandas.

Në këtë artikull, ne do të diskutojmë një zgjidhje për problemin e deshifrimit të vargjeve të ruajtura në një skedar CSV duke përdorur Fernet dhe Pandas. Ne do të ofrojmë një shpjegim hap pas hapi të kodit dhe do të gërmojmë në funksionet dhe bibliotekat përkatëse të përfshira në proces.

Për të filluar, le të diskutojmë problemin në detaje. Kur përdorni enkriptimin Fernet për të siguruar të dhënat përpara se t'i ruani ato në një skedar CSV, mund të jetë sfiduese të deshifroni të dhënat përsëri gjatë përdorimit të Pandas për leximin e skedarit. Vargjet e koduara kërkojnë trajtim të duhur për të siguruar integritetin e tyre gjatë deshifrimit.

Zgjidhja e Problemit

Një zgjidhje e mundshme për këtë problem është përdorimi i funksioneve të personalizuara dhe zbatimi i tyre në kornizën e të dhënave të marrë nga skedari CSV. Ne do të krijojmë një funksion për të deshifruar vargjet e enkriptuara duke përdorur bibliotekën Fernet dhe më pas do ta zbatojmë këtë funksion në kornizën e të dhënave Pandas që përmban të dhënat e koduara.

Këtu është një shpjegim hap pas hapi i kodit:

1. Së pari, duhet të importojmë bibliotekat e nevojshme:

import pandas as pd
from cryptography.fernet import Fernet

2. Pastaj, le të gjenerojmë një çelës Fernet dhe të kodojmë disa të dhëna të mostrës. Supozoni se kemi koduar të dhënat e mëposhtme dhe i kemi ruajtur në një skedar CSV të quajtur "encrypted_data.csv" me dy kolona "të dhëna" dhe "të enkriptuara":

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

3. Tani, le të krijojmë një funksion për të deshifruar vargjet e koduara me çelësin e dhënë 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. Ne mund të lexojmë skedarin CSV që përmban të dhëna të koduara duke përdorur Panda:

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

5. Së fundi, aplikoni funksionin 'decrypt_string' në kolonën e koduar të kornizës së të dhënave duke përdorur metodën 'aply' dhe ruajini të dhënat e deshifruara në një kolonë të re. Vini re se duhet të kaloni çelësin si një argument shtesë në metodën 'aplikoni':

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

Biblioteka Fernet

në distancë është një bibliotekë kriptografike e njohur në Python që ofron metoda të thjeshta për t'u përdorur për enkriptimin dhe deshifrimin e të dhënave me kriptografi me çelës simetrik AES. Biblioteka garanton që të dhënat e koduara duke përdorur Fernet nuk mund të manipulohen ose lexohen më tej pa çelësin, duke siguruar konfidencialitetin dhe integritetin e të dhënave. Fernet përdor kodimin URL-safe/base64 për tekstet e shifruara, gjë që e bën atë të përshtatshëm për ruajtjen e të dhënave të koduara në skedarë ose baza të të dhënave.

Biblioteka e Pandave

Pandas është një bibliotekë me burim të hapur të manipulimit dhe analizës së të dhënave në Python. Ai siguron struktura të dhënash, të tilla si Seritë dhe DataFrame, dhe funksione të ndryshme për trajtimin, transformimin dhe vizualizimin e të dhënave. Pandat janë veçanërisht të dobishme për të punuar me të dhëna të strukturuara ose tabelare, të tilla si skedarët CSV ose bazat e të dhënave SQL. Kjo bibliotekë thjeshton shumë aspekte të manipulimit të të dhënave, duke e bërë atë një mjet thelbësor për analizën e të dhënave dhe mësimin e makinerive.

Si përfundim, deshifrimi i vargjeve të koduara të ruajtura në një skedar CSV duke përdorur Fernet dhe Pandas mund të arrihet duke ndjekur hapat e dhënë në këtë artikull. Duke krijuar një funksion të personalizuar deshifrimi dhe duke e aplikuar atë në kornizën e të dhënave, ne mund të deshifrojmë në mënyrë efektive të dhënat e ndjeshme të ruajtura në skedarin CSV.

Mesazhe të ngjashme:

Lini një koment