[python] json파일 aes256 암호화

최승언·2023년 5월 3일
0

python

목록 보기
18/22
post-thumbnail

무언갈 배보할 때 json 파일에 중요한 정보가 담겨져있어 수정되면 곤란한 파일이 있을 때 aes256 암호화 방법을 사용하여 암호화 키를 만들고 암호화 한 후 open하는 방법을 알아보도록 하자.

여기에선 cryptography 라는 라이브러리를 사용한다.

1. 암호 key 만들고 암호화

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을 사용한다.


2. 암호화 파일 open

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파일을 안전하게 숨길 수 있다.

profile
작업하다가 막힌부분을 기록하는 곳.

0개의 댓글