निराकरण: फर्नेट%3A पांडासह csv मध्ये जतन केलेल्या स्ट्रिंग्स डिक्रिप्ट करू शकत नाही

Fernet ही Python मधील सिमेट्रिक एन्क्रिप्शन लायब्ररी आहे जी संवेदनशील डेटासाठी सुरक्षित आणि वापरण्यास-सुलभ एन्क्रिप्शन प्रदान करते. फर्नेटसाठी एक सामान्य वापर-केस म्हणजे डेटा CSV फाईलमध्ये संग्रहित करण्यापूर्वी एनक्रिप्ट करणे, केवळ अधिकृत पक्षांनाच त्यात प्रवेश करता येईल याची खात्री करणे. तथापि, CSV फाइलमध्ये या एनक्रिप्टेड स्ट्रिंग्स डिक्रिप्ट करणे थोडे अवघड असू शकते, विशेषत: Pandas लायब्ररी वापरताना.

या लेखात, आम्ही Fernet आणि Pandas वापरून CSV फाइलमध्ये सेव्ह केलेल्या स्ट्रिंग्स डिक्रिप्ट करण्याच्या समस्येवर चर्चा करू. आम्ही कोडचे चरण-दर-चरण स्पष्टीकरण देऊ आणि प्रक्रियेत सामील असलेल्या संबंधित कार्ये आणि लायब्ररींचा शोध घेऊ.

सुरुवातीला, समस्येबद्दल तपशीलवार चर्चा करूया. CSV फाईलमध्ये डेटा संग्रहित करण्यापूर्वी सुरक्षित करण्यासाठी Fernet कूटबद्धीकरण वापरताना, फाईल वाचण्यासाठी 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. आम्ही Pandas वापरून एनक्रिप्टेड डेटा असलेली CSV फाइल वाचू शकतो:

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

5. शेवटी, 'लागू' पद्धत वापरून डेटाफ्रेमच्या एनक्रिप्टेड कॉलममध्ये 'decrypt_string' फंक्शन लागू करा आणि डिक्रिप्ट केलेला डेटा नवीन कॉलममध्ये संग्रहित करा. लक्षात ठेवा की तुम्हाला 'लागू' पद्धतीमध्ये अतिरिक्त युक्तिवाद म्हणून की पास करणे आवश्यक आहे:

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

फर्नेट लायब्ररी

फर्नाट Python मधील एक लोकप्रिय क्रिप्टोग्राफिक लायब्ररी आहे जी AES सिमेट्रिक-की क्रिप्टोग्राफीसह डेटा एन्क्रिप्ट आणि डिक्रिप्ट करण्यासाठी वापरण्यास सुलभ पद्धती प्रदान करते. लायब्ररी हमी देते की Fernet वापरून कूटबद्ध केलेला डेटा पुढे फेरफार केला जाऊ शकत नाही किंवा की शिवाय वाचू शकत नाही, डेटाची गोपनीयता आणि अखंडता सुनिश्चित करते. फर्नेट सायफरटेक्स्टसाठी URL-safe/base64 एन्कोडिंग वापरते, जे फायली किंवा डेटाबेसमध्ये एनक्रिप्टेड डेटा संचयित करण्यासाठी योग्य बनवते.

पांडस लायब्ररी

पांड्या Python मधील ओपन-सोर्स डेटा मॅनिप्युलेशन आणि डेटा विश्लेषण लायब्ररी आहे. हे डेटा स्ट्रक्चर्स प्रदान करते, जसे की मालिका आणि डेटाफ्रेम, आणि डेटा हाताळण्यासाठी, रूपांतरित करण्यासाठी आणि दृश्यमान करण्यासाठी विविध कार्ये. CSV फाइल्स किंवा SQL डेटाबेस सारख्या संरचित किंवा सारणीबद्ध डेटासह काम करण्यासाठी Pandas विशेषतः उपयुक्त आहे. ही लायब्ररी डेटा हाताळणीचे अनेक पैलू सुलभ करते, ज्यामुळे डेटा विश्लेषण आणि मशीन लर्निंगसाठी ते एक आवश्यक साधन बनते.

शेवटी, Fernet आणि Pandas वापरून CSV फाईलमध्ये सेव्ह केलेल्या एनक्रिप्टेड स्ट्रिंग्स डिक्रिप्ट करणे या लेखात दिलेल्या पायऱ्या फॉलो करून साध्य केले जाऊ शकते. सानुकूल डिक्रिप्शन फंक्शन तयार करून आणि डेटाफ्रेमवर लागू करून, आम्ही CSV फाइलमध्ये संग्रहित संवेदनशील डेटा प्रभावीपणे डिक्रिप्ट करू शकतो.

संबंधित पोस्ट:

एक टिप्पणी द्या