Selesai: Fernet%3A Tidak boleh menyahsulit rentetan yang disimpan dalam csv dengan panda

Fernet ialah perpustakaan penyulitan simetri dalam Python yang menyediakan penyulitan selamat dan mudah digunakan untuk data sensitif. Satu kes penggunaan biasa untuk Fernet ialah menyulitkan data sebelum menyimpannya dalam fail CSV, memastikan hanya pihak yang diberi kuasa boleh mengaksesnya. Walau bagaimanapun, menyahsulit rentetan yang disulitkan ini dalam fail CSV boleh menjadi sedikit rumit, terutamanya apabila menggunakan pustaka Pandas.

Dalam artikel ini, kami akan membincangkan penyelesaian kepada masalah menyahsulit rentetan yang disimpan dalam fail CSV menggunakan Fernet dan Pandas. Kami akan memberikan penjelasan langkah demi langkah tentang kod, dan menyelidiki fungsi dan perpustakaan berkaitan yang terlibat dalam proses tersebut.

Sebagai permulaan, mari kita bincangkan masalah secara terperinci. Apabila menggunakan penyulitan Fernet untuk melindungi data sebelum menyimpannya dalam fail CSV, mungkin sukar untuk menyahsulit semula data semasa menggunakan Panda untuk membaca fail. Rentetan yang disulitkan memerlukan pengendalian yang betul untuk memastikan integritinya semasa penyahsulitan.

Penyelesaian Masalah

Penyelesaian yang berpotensi untuk masalah ini ialah menggunakan fungsi tersuai dan menggunakannya pada bingkai data yang diperoleh daripada fail CSV. Kami akan mencipta fungsi untuk menyahsulit rentetan yang disulitkan menggunakan pustaka Fernet, dan kemudian menggunakan fungsi ini pada bingkai data Pandas yang mengandungi data yang disulitkan.

Berikut ialah penjelasan langkah demi langkah bagi kod tersebut:

1. Pertama, kita perlu mengimport perpustakaan yang diperlukan:

import pandas as pd
from cryptography.fernet import Fernet

2. Kemudian, mari kita hasilkan kunci Fernet dan menyulitkan beberapa data sampel. Andaikan kami telah menyulitkan data berikut dan menyimpannya dalam fail CSV bernama "encrypted_data.csv" dengan dua lajur "data" dan "disulitkan":

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

3. Sekarang, mari kita cipta fungsi untuk menyahsulit rentetan yang disulitkan dengan kunci Fernet yang diberikan:

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. Kita boleh membaca fail CSV yang mengandungi data yang disulitkan menggunakan Pandas:

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

5. Akhir sekali, gunakan fungsi 'decrypt_string' pada lajur yang disulitkan bagi rangka data menggunakan kaedah 'apply' dan simpan data yang dinyahsulit dalam lajur baharu. Ambil perhatian bahawa anda perlu menghantar kunci sebagai hujah tambahan dalam kaedah 'apply':

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

Perpustakaan Fernet

fernet ialah perpustakaan kriptografi popular dalam Python yang menyediakan kaedah yang mudah digunakan untuk menyulitkan dan menyahsulit data dengan kriptografi kunci simetri AES. Perpustakaan menjamin bahawa data yang disulitkan menggunakan Fernet tidak boleh dimanipulasi atau dibaca selanjutnya tanpa kunci, memastikan kerahsiaan dan integriti data. Fernet menggunakan pengekodan URL-safe/base64 untuk ciphertexts, yang menjadikannya sesuai untuk menyimpan data yang disulitkan dalam fail atau pangkalan data.

Perpustakaan Panda

Pandas ialah perpustakaan manipulasi data sumber terbuka dan analisis data dalam Python. Ia menyediakan struktur data, seperti Siri dan DataFrame, dan pelbagai fungsi untuk mengendalikan, mengubah dan menggambarkan data. Panda amat berguna untuk bekerja dengan data berstruktur atau jadual, seperti fail CSV atau pangkalan data SQL. Pustaka ini memudahkan banyak aspek manipulasi data, menjadikannya alat penting untuk analisis data dan pembelajaran mesin.

Kesimpulannya, menyahsulit rentetan yang disulitkan yang disimpan dalam fail CSV menggunakan Fernet dan Pandas boleh dicapai dengan mengikuti langkah yang disediakan dalam artikel ini. Dengan mencipta fungsi penyahsulitan tersuai dan menggunakannya pada bingkai data, kami boleh menyahsulit data sensitif yang disimpan dalam fail CSV dengan berkesan.

Related posts:

Tinggalkan komen