[python] PyYAML을 사용하여 YAML 파일의 데이터를 추출하고 암호화하기

YAML 파일은 데이터를 구조화하여 저장하기 위한 인기있는 파일 형식입니다. 이 파일 형식은 가독성이 좋고 사용하기 쉬워 많은 프로그래머들에게 인기가 있습니다.

이번에는 PyYAML 라이브러리를 사용하여 YAML 파일에서 데이터를 추출하고 추출한 데이터를 암호화하는 방법을 알아보겠습니다.

PyYAML 설치하기

먼저 PyYAML을 설치해야 합니다. 아래의 명령을 사용하여 PyYAML을 설치할 수 있습니다.

pip install pyyaml

YAML 파일에서 데이터 추출하기

다음으로는 YAML 파일에서 데이터를 추출하는 방법입니다. 아래의 코드를 사용하여 YAML 파일의 데이터를 추출할 수 있습니다.

import yaml

# YAML 파일 열기
with open('data.yaml', 'r') as file:
    data = yaml.safe_load(file)

# 데이터 추출
name = data['name']
age = data['age']

print(f"Name: {name}")
print(f"Age: {age}")

위의 예제 코드에서는 data.yaml 파일을 열고 데이터를 추출합니다. 추출한 데이터는 변수에 저장되어 나중에 사용할 수 있습니다.

데이터 암호화하기

이제 추출한 데이터를 암호화하는 방법을 알아보겠습니다. Python에는 다양한 암호화 알고리즘을 지원하는 여러 라이브러리가 있지만, 여기서는 간단한 예제로 cryptography 라이브러리를 사용하도록 하겠습니다.

from cryptography.fernet import Fernet

# 암호화 키 생성
key = Fernet.generate_key()
cipher_suite = Fernet(key)

# 데이터 암호화
encrypted_name = cipher_suite.encrypt(name.encode())
encrypted_age = cipher_suite.encrypt(str(age).encode())

print(f"Encrypted Name: {encrypted_name}")
print(f"Encrypted Age: {encrypted_age}")

위의 예제 코드에서는 cryptography 라이브러리의 Fernet 클래스를 사용하여 데이터를 암호화합니다. 암호화 키는 Fernet.generate_key()를 사용하여 생성됩니다.

암호화된 데이터는 Fernet.encrypt() 메서드를 사용하여 암호화할 수 있습니다. 암호화된 데이터는 바이트 형태로 반환됩니다.

참고 자료