해결됨: Fernet%3A pandas로 csv에 저장된 문자열을 해독할 수 없습니다.

Fernet은 중요한 데이터에 대해 안전하고 사용하기 쉬운 암호화를 제공하는 Python의 대칭 암호화 라이브러리입니다. Fernet의 일반적인 사용 사례 중 하나는 데이터를 CSV 파일에 저장하기 전에 암호화하여 승인된 당사자만 액세스할 수 있도록 하는 것입니다. 그러나 CSV 파일에서 이러한 암호화된 문자열을 해독하는 것은 특히 Pandas 라이브러리를 사용할 때 약간 까다로울 수 있습니다.

이 기사에서는 Fernet 및 Pandas를 사용하여 CSV 파일에 저장된 문자열을 해독하는 문제에 대한 솔루션에 대해 설명합니다. 코드에 대한 단계별 설명을 제공하고 프로세스와 관련된 관련 기능 및 라이브러리를 탐구합니다.

먼저 문제에 대해 자세히 논의하겠습니다. 데이터를 CSV 파일에 저장하기 전에 Fernet 암호화를 사용하여 데이터를 보호하는 경우 Pandas를 사용하여 파일을 읽는 동안 데이터를 다시 해독하는 것이 어려울 수 있습니다. 암호화된 문자열은 암호 해독 중에 무결성을 보장하기 위해 적절한 처리가 필요합니다.

문제에 대한 해결책

이 문제에 대한 잠재적인 해결책은 사용자 지정 함수를 사용하여 CSV 파일에서 얻은 데이터 프레임에 적용하는 것입니다. Fernet 라이브러리를 사용하여 암호화된 문자열을 해독하는 함수를 만든 다음 이 함수를 암호화된 데이터가 포함된 Pandas 데이터 프레임에 적용합니다.

다음은 코드에 대한 단계별 설명입니다.

1. 먼저 필요한 라이브러리를 가져와야 합니다.

import pandas as pd
from cryptography.fernet import Fernet

2. 그런 다음 Fernet 키를 생성하고 일부 샘플 데이터를 암호화해 보겠습니다. 다음 데이터를 암호화하고 "data" 및 "encrypted"라는 두 개의 열이 있는 "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. 이제 주어진 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. Pandas를 사용하여 암호화된 데이터가 포함된 CSV 파일을 읽을 수 있습니다.

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

5. 마지막으로 'apply' 메소드를 이용하여 데이터프레임의 암호화된 컬럼에 'decrypt_string' 함수를 적용하고 복호화된 데이터를 새로운 컬럼에 저장한다. 'apply' 메서드에서 추가 인수로 키를 전달해야 합니다.

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

페르넷 도서관

퍼넷 AES 대칭 키 암호화로 데이터를 암호화하고 해독하는 사용하기 쉬운 방법을 제공하는 Python의 인기 있는 암호화 라이브러리입니다. 라이브러리는 Fernet을 사용하여 암호화된 데이터가 키 없이 더 이상 조작되거나 읽을 수 없도록 보장하여 데이터 기밀성과 무결성을 보장합니다. Fernet은 암호화된 데이터를 파일이나 데이터베이스에 저장하는 데 적합하도록 암호문에 URL 안전/base64 인코딩을 사용합니다.

판다 도서관

판다 Python의 오픈 소스 데이터 조작 및 데이터 분석 라이브러리입니다. Series 및 DataFrame과 같은 데이터 구조와 데이터 처리, 변환 및 시각화를 위한 다양한 기능을 제공합니다. Pandas는 CSV 파일이나 SQL 데이터베이스와 같은 구조적 또는 표 형식 데이터로 작업하는 데 특히 유용합니다. 이 라이브러리는 데이터 조작의 여러 측면을 단순화하여 데이터 분석 및 기계 학습을 위한 필수 도구로 만듭니다.

결론적으로 Fernet 및 Pandas를 사용하여 CSV 파일에 저장된 암호화된 문자열을 해독하려면 이 문서에서 제공하는 단계를 따르면 됩니다. 맞춤형 복호화 함수를 생성하고 이를 데이터 프레임에 적용함으로써 CSV 파일에 저장된 민감한 데이터를 효과적으로 복호화할 수 있습니다.

관련 게시물:

코멘트 남김