무언갈 배보할 때 json 파일에 중요한 정보가 담겨져있어 수정되면 곤란한 파일이 있을 때 aes256 암호화 방법을 사용하여 암호화 키를 만들고 암호화 한 후 open하는 방법을 알아보도록 하자.
여기에선 cryptography 라는 라이브러리를 사용한다.
import json
import os
from cryptography.fernet import Fernet
# JSON 데이터를 불러옵니다.
with open(<json 파일경로>, 'r') as f:
json_data = json.load(f)
# 암호화 키를 생성합니다.
key = Fernet.generate_key()
# Fernet 알고리즘으로 암호화합니다.
cipher_suite = Fernet(key)
cipher_text = cipher_suite.encrypt(json.dumps(json_data).encode())
# 암호화된 데이터를 파일에 저장합니다.
with open(<암호화 된 json 파일경로>, 'wb') as f:
f.write(cipher_text)
# 키를 파일에 저장합니다.
with open(<key 파일경로>, 'wb') as f:
f.write(key)
여기서 암호화 된 json 파일과 key 파일의 확장자 명은 주로 .bin
을 사용한다.
import json
import os
from cryptography.fernet import Fernet
# 암호화된 데이터를 불러옵니다.
with open(<암호화 된 json 파일경로>, 'rb') as f:
cipher_text = f.read()
# 키를 불러옵니다.
with open(<key 파일경로>, 'rb') as f:
key = f.read()
# Fernet 알고리즘으로 복호화합니다.
cipher_suite = Fernet(key)
json_data = json.loads(cipher_suite.decrypt(cipher_text).decode())
# JSON 데이터를 출력합니다.
print(json_data)
이렇게 하여 중요한 json파일을 안전하게 숨길 수 있다.