[python] PyCrypto를 사용하여 암호화된 데이터 전송하기
암호화는 데이터 보안에 중요한 역할을 합니다. PyCrypto는 Python 언어로 작성된 암호화 라이브러리로, RSA, AES 등의 알고리즘을 지원하여 데이터를 안전하게 전송할 수 있게 도와줍니다.
필요한 패키지 설치하기
PyCrypto를 사용하기 위해서는 해당 패키지를 설치해야 합니다. 아래의 명령어를 이용하여 설치할 수 있습니다.
pip install pycrypto
암호화 과정
- RSA 키페어 생성하기
- 공개키로 데이터 암호화하기
- 개인키로 암호화된 데이터 복호화하기
아래는 예시 코드입니다.
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP
# RSA 키페어 생성
key = RSA.generate(2048)
# 공개키로 데이터 암호화
public_key = key.publickey()
cipher = PKCS1_OAEP.new(public_key)
encrypted_data = cipher.encrypt("Hello, World!")
# 개인키로 암호화된 데이터 복호화
decrypt_cipher = PKCS1_OAEP.new(key)
decrypted_data = decrypt_cipher.decrypt(encrypted_data)
print("복호화된 데이터:", decrypted_data)
위 예시 코드에서는 RSA 알고리즘을 사용하여 데이터를 암호화하고 복호화합니다. generate()
메소드를 사용하여 2048 비트의 RSA 키페어를 생성하고, publickey()
메소드로 공개키를 얻습니다. PKCS1_OAEP
암호화 방식을 사용하여 메세지를 암호화하고, 개인키로 암호화된 데이터를 복호화합니다.