파일을 Python으로 암호화하는 방법
파이썬에서 파일을 암호화하는 방법입니다.
다음은 Python에서 파일을 암호화하는 단계별 튜토리얼입니다:
단계 1: 필요한 라이브러리 가져오기
먼저, 암호화에 필요한 라이브러리를 가져와야 합니다. 이 튜토리얼에서는 암호화용으로 암호학 라이브러리인 cryptography를 사용할 것입니다.
from cryptography.fernet import Fernet
단계 2: 키 생성하기
파일을 암호화하고 복호화하기 위해서는 키가 필요합니다. 키는 암호화 및 복호화 작업을 수행하는 데 사용됩니다. 이 예제에서는 cryptography 라이브러리의 Fernet 클래스를 사용하여 키를 생성할 것입니다.
key = Fernet.generate_key()
단계 3: 키 저장하기
다음으로, 키를 파일에 저장하여 나중에 암호화 및 복호화에 사용할 수 있도록 해야 합니다. 키를 저장할 파일 이름과 위치를 선택할 수 있습니다.
with open('key.txt', 'wb') as key_file:
key_file.write(key)
단계 4: 키 불러오기
파일을 암호화하거나 복호화하기 전에, 저장된 파일에서 키를 불러와야 합니다. 파일에서 키를 읽어 변수에 저장합니다.
with open('key.txt', 'rb') as key_file:
key = key_file.read()
단계 5: 파일 암호화하기
이제 키를 가지고 파일을 암호화할 수 있습니다. 이 예제에서는 텍스트 파일을 암호화하지만, 동일한 방법으로 다른 유형의 파일도 암호화할 수 있습니다.
# 파일 내용 읽기
with open('plaintext.txt', 'rb') as file:
plaintext = file.read()
# 키로 Fernet 객체 생성
fernet = Fernet(key)
# 파일 내용 암호화
encrypted = fernet.encrypt(plaintext)
# 암호화된 내용을 새 파일에 저장
with open('encrypted.txt', 'wb') as file:
file.write(encrypted)
단계 6: 파일 복호화하기
암호화된 파일을 복호화하기 위해 비슷한 과정을 따릅니다. 먼저, 저장된 파일에서 키를 불러온 다음, 파일에서 암호화된 내용을 읽고 키를 사용하여 복호화합니다.
# 파일로부터 키 불러오기
with open('key.txt', 'rb') as key_file:
key = key_file.read()
# 암호화된 내용 읽기
with open('encrypted.txt', 'rb') as file:
encrypted = file.read()
# 키로 Fernet 객체 생성
fernet = Fernet(key)
# 암호화된 내용 복호화
decrypted = fernet.decrypt(encrypted)
# 복호화된 내용을 새 파일에 저장
with open('decrypted.txt', 'wb') as file:
file.write(decrypted)
그리고 이것으로 끝났습니다! Python을 사용하여 파일을 성공적으로 암호화하고 복호화했습니다. 코드에서 파일 이름과 경로를 자신의 파일 이름과 경로로 바꾸는 것을 잊지 마세요.