தீர்க்கப்பட்டது: Fernet%3A csv இல் பாண்டாக்களுடன் சேமிக்கப்பட்ட சரங்களை டிக்ரிப்ட் செய்ய முடியாது

ஃபெர்னெட் என்பது பைத்தானில் உள்ள சமச்சீர் குறியாக்க நூலகமாகும், இது முக்கியமான தரவுகளுக்கு பாதுகாப்பான மற்றும் பயன்படுத்த எளிதான குறியாக்கத்தை வழங்குகிறது. ஃபெர்னெட்டின் ஒரு பொதுவான பயன்பாடானது, தரவை CSV கோப்பில் சேமிப்பதற்கு முன் குறியாக்கம் செய்வதாகும், அங்கீகரிக்கப்பட்ட தரப்பினர் மட்டுமே அதை அணுக முடியும். இருப்பினும், இந்த என்க்ரிப்ட் செய்யப்பட்ட சரங்களை CSV கோப்பில் டிக்ரிப்ட் செய்வது கொஞ்சம் தந்திரமானதாக இருக்கும், குறிப்பாக பாண்டாஸ் லைப்ரரியைப் பயன்படுத்தும் போது.

இந்தக் கட்டுரையில், ஃபெர்னெட் மற்றும் பாண்டாஸைப் பயன்படுத்தி CSV கோப்பில் சேமிக்கப்பட்ட சரங்களை டிக்ரிப்ட் செய்வதில் உள்ள சிக்கலுக்கு தீர்வு காண்போம். குறியீட்டின் படிப்படியான விளக்கத்தை நாங்கள் வழங்குவோம், மேலும் செயல்பாட்டில் ஈடுபட்டுள்ள தொடர்புடைய செயல்பாடுகள் மற்றும் நூலகங்களை ஆராய்வோம்.

தொடங்குவதற்கு, சிக்கலை விரிவாக விவாதிப்போம். CSV கோப்பில் தரவைப் பாதுகாப்பதற்கு ஃபெர்னெட் குறியாக்கத்தைப் பயன்படுத்தும் போது, ​​கோப்பைப் படிக்க Pandas ஐப் பயன்படுத்தும் போது தரவை மீண்டும் மறைகுறியாக்குவது சவாலாக இருக்கலாம். மறைகுறியாக்கப்பட்ட சரங்களுக்கு மறைகுறியாக்கத்தின் போது அவற்றின் ஒருமைப்பாட்டை உறுதிப்படுத்த சரியான கையாளுதல் தேவைப்படுகிறது.

பிரச்சனைக்கான தீர்வு

இந்தச் சிக்கலுக்கான சாத்தியமான தீர்வாக தனிப்பயன் செயல்பாடுகளைப் பயன்படுத்துவதும், அவற்றை CSV கோப்பிலிருந்து பெறப்பட்ட டேட்டாஃப்ரேமில் பயன்படுத்துவதும் ஆகும். ஃபெர்னெட் லைப்ரரியைப் பயன்படுத்தி மறைகுறியாக்கப்பட்ட சரங்களை மறைகுறியாக்க ஒரு செயல்பாட்டை உருவாக்குவோம், பின்னர் இந்தச் செயல்பாட்டை மறைகுறியாக்கப்பட்ட தரவைக் கொண்ட பாண்டாஸ் டேட்டாஃப்ரேமில் பயன்படுத்துவோம்.

குறியீட்டின் படிப்படியான விளக்கம் இங்கே:

1. முதலில், தேவையான நூலகங்களை நாம் இறக்குமதி செய்ய வேண்டும்:

import pandas as pd
from cryptography.fernet import Fernet

2. பிறகு, ஒரு ஃபெர்னெட் விசையை உருவாக்கி, சில மாதிரித் தரவை குறியாக்கம் செய்வோம். பின்வரும் தரவை நாங்கள் குறியாக்கம் செய்து, "தரவு" மற்றும் "மறைகுறியாக்கப்பட்ட" என்ற இரண்டு நெடுவரிசைகளுடன் "encrypted_data.csv" என்ற CSV கோப்பில் சேமித்துள்ளோம் என்று வைத்துக்கொள்வோம்:

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

3. இப்போது, ​​கொடுக்கப்பட்ட ஃபெர்னெட் விசையுடன் மறைகுறியாக்கப்பட்ட சரங்களை மறைகுறியாக்க ஒரு செயல்பாட்டை உருவாக்குவோம்:

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. பாண்டாஸைப் பயன்படுத்தி மறைகுறியாக்கப்பட்ட தரவு உள்ள CSV கோப்பைப் படிக்கலாம்:

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

5. இறுதியாக, 'apply' முறையைப் பயன்படுத்தி டேட்டாஃப்ரேமின் மறைகுறியாக்கப்பட்ட நெடுவரிசையில் 'decrypt_string' செயல்பாட்டைப் பயன்படுத்தவும் மற்றும் மறைகுறியாக்கப்பட்ட தரவை புதிய நெடுவரிசையில் சேமிக்கவும். 'விண்ணப்பிக்கவும்' முறையில் நீங்கள் விசையை கூடுதல் வாதமாக அனுப்ப வேண்டும் என்பதை நினைவில் கொள்ளவும்:

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

ஃபெர்னெட் நூலகம்

ஃபெர்னெட் AES சமச்சீர்-விசை கிரிப்டோகிராஃபி மூலம் தரவை குறியாக்கம் மற்றும் மறைகுறியாக்கம் செய்வதற்கான எளிதான முறைகளை வழங்கும் பைத்தானில் உள்ள பிரபலமான கிரிப்டோகிராஃபிக் லைப்ரரி ஆகும். ஃபெர்னெட்டைப் பயன்படுத்தி குறியாக்கம் செய்யப்பட்ட தரவை மேலும் கையாளவோ அல்லது விசை இல்லாமல் படிக்கவோ முடியாது என்று நூலகம் உத்தரவாதம் அளிக்கிறது, இது தரவு ரகசியத்தன்மை மற்றும் ஒருமைப்பாட்டை உறுதி செய்கிறது. ஃபெர்னெட் மறைக்குறியீடுகளுக்கு URL-safe/base64 குறியாக்கத்தைப் பயன்படுத்துகிறது, இது கோப்புகள் அல்லது தரவுத்தளங்களில் மறைகுறியாக்கப்பட்ட தரவைச் சேமிப்பதற்கு ஏற்றதாக அமைகிறது.

பாண்டாஸ் நூலகம்

பாண்டாக்கள் பைத்தானில் உள்ள ஒரு திறந்த மூல தரவு கையாளுதல் மற்றும் தரவு பகுப்பாய்வு நூலகம் ஆகும். இது Series மற்றும் DataFrame போன்ற தரவு கட்டமைப்புகள் மற்றும் தரவை கையாளுதல், மாற்றுதல் மற்றும் காட்சிப்படுத்துதல் போன்ற பல்வேறு செயல்பாடுகளை வழங்குகிறது. CSV கோப்புகள் அல்லது SQL தரவுத்தளங்கள் போன்ற கட்டமைக்கப்பட்ட அல்லது அட்டவணை தரவுகளுடன் பணிபுரிய Pandas மிகவும் பயனுள்ளதாக இருக்கும். இந்த நூலகம் தரவு கையாளுதலின் பல அம்சங்களை எளிதாக்குகிறது, இது தரவு பகுப்பாய்வு மற்றும் இயந்திர கற்றலுக்கு இன்றியமையாத கருவியாக அமைகிறது.

முடிவில், Fernet மற்றும் Pandas ஐப் பயன்படுத்தி CSV கோப்பில் சேமிக்கப்பட்ட மறைகுறியாக்கப்பட்ட சரங்களை இந்தக் கட்டுரையில் கொடுக்கப்பட்டுள்ள படிகளைப் பின்பற்றுவதன் மூலம் அடையலாம். தனிப்பயன் மறைகுறியாக்க செயல்பாட்டை உருவாக்கி அதை டேட்டாஃப்ரேமில் பயன்படுத்துவதன் மூலம், CSV கோப்பில் சேமிக்கப்பட்ட முக்கியமான தரவை திறம்பட டிக்ரிப்ட் செய்யலாம்.

தொடர்புடைய இடுகைகள்:

ஒரு கருத்துரையை