Python으로도 암호화를 손쉽게 할 수 있습니다. 이번 포스팅에서는 AES/CBC/PKS5Padding으로 암호화 하는 Python code를 보여드리겠습니다.
먼저 필요한 module은 아래와 같습니다.
from Crypto.Cipher import AES
위 모듈을 사용하기 위해서는 아래와 같이 pip를 통해 모듈을 설치해줍니다.
$ pip install pycrypto
모듈 사이트 : https://pypi.org/project/pycrypto/
AES encrypt를 하기 위해서는 key와 iv가 필요하므로 선언하며, 암호화 길이가 32보다 작을경우 padding으로 빈공간을 채워주는 로직을 사용합니다.
key = bytes.fromhex("da1d32181d122d21")
iv = bytes.fromhex("ba7cdeae124s")
BS = 16
pad lambda s: s + (BS - len(s) % BS) * chr(BS - len(s) % BS)
raw = pad(input_value)
cipher = AES.new(key, AES.MODE_CBC, iv)
output_value = cipher.encrypt(raw).hex()
반응형
'Programming Language' 카테고리의 다른 글
go get으로 특정 github 레포지토리의 태그 가져오기 (0) | 2020.10.27 |
---|---|
인도 온라인 교육업체에서 제공하는 무료 빅데이터 튜토리얼 (0) | 2019.08.30 |