본문으로 건너뛰기

파일을 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을 사용하여 파일을 성공적으로 암호화하고 복호화했습니다. 코드에서 파일 이름과 경로를 자신의 파일 이름과 경로로 바꾸는 것을 잊지 마세요.