[python] PyCrypto를 사용하여 정적으로 암호화하기

암호화는 개인정보와 기밀 데이터를 보호하는 데에 매우 중요한 요소입니다. Python으로 데이터를 암호화하려는 경우, PyCrypto 라이브러리를 사용할 수 있습니다. 이 라이브러리는 강력한 암호화 알고리즘과 기능을 제공하며, 쉽게 사용할 수 있습니다.

PyCrypto 설치

먼저, PyCrypto를 설치해야합니다. 다음 명령을 사용하여 pip를 통해 설치할 수 있습니다:

pip install pycrypto

데이터 암호화하기

PyCrypto를 사용하여 데이터를 암호화하는 방법은 아래와 같습니다:

from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes

# 암호화할 데이터
data = b"My secret data"

# 초기화 벡터 생성
iv = get_random_bytes(AES.block_size)

# 키 생성 (32비트 키 사용)
key = get_random_bytes(32)

# AES 객체 생성
cipher = AES.new(key, AES.MODE_CBC, iv)

# 데이터를 암호화하고 패딩
encrypted_data = cipher.encrypt(data)

# 결과 출력
print("암호화된 데이터:", encrypted_data)

위 코드에서는 우선 data 변수에 암호화하려는 데이터를 지정합니다. 그런 다음, get_random_bytes를 사용하여 초기화 벡터(iv)와 암호화에 사용할 키(key)를 생성합니다. AES 객체를 생성한 후, encrypt 메서드를 사용하여 데이터를 암호화합니다. 마지막으로, 암호화된 데이터를 출력합니다.

이제 실행하면 암호화된 데이터를 얻을 수 있습니다.

데이터 복호화하기

암호화된 데이터를 다시 복호화하는 방법은 아래와 같습니다:

# AES 객체를 생성하여 데이터를 복호화
decipher = AES.new(key, AES.MODE_CBC, iv)
decrypted_data = cipher.decrypt(encrypted_data)

# 결과 출력
print("복호화된 데이터:", decrypted_data)

위 코드에서는 마찬가지로 AES 객체를 생성한 후, decrypt 메서드를 사용하여 데이터를 복호화합니다. 마지막으로, 복호화된 데이터를 출력합니다.

이제 실행하면 원래의 데이터를 복구할 수 있습니다.

결론

PyCrypto는 Python에서 데이터 암호화를 위한 강력한 도구입니다. 암호화와 복호화 작업은 개인정보와 기밀 데이터 보호에 매우 중요한 역할을 합니다. PyCrypto를 사용하여 데이터를 안전하게 암호화하고 복호화할 수 있습니다. 이를 통해 데이터 보안을 강화할 수 있습니다.

참고 자료