# pycryptodome
과거 pycrypto 라는 파이썬 암호화 패키지가 존재하였으나, 2013년 이후 더이상 업데이트가 되지 않으며, PyCryptoDome 패키지가 이를 계승하여 업데이트가 진행중이라고 한다.
# cryptography
파이썬에서 쓸만한 암호 패키지는 위의 pycryptodome과 이 cryptography 두 가지 정도인 듯 하다.
두 패키지 모두 기본적으로 AES 알고리즘을 지원하는데, C++의 cryptopp 처럼 다양한 알고리즘을 지원하진 않는 것 같아 아쉽다.
piptrends.com 에서 확인했을때 cryptography 패키지가 좀 더 활발하게 사용되고 있었다.
# cryptography 예제
from cryptography.fernet import Fernet
original_text = "this is test"
test_key = Fernet.generate_key()
encrypted_text = Fernet(test_key).encrypt(original_text.encode())
decrypted_text = Fernet(test_key).decrypt(encrypted_text).decode()
print(f"text: {original_text}")
print(f"key: {test_key}")
print(f"encrypted text: {encrypted_text}")
print(f"decrypted_text: {decrypted_text}")
결과
text: this is test
key: b'Kl791XohWpXAdPl6qWv30CPs4h9Xwbt6e-7hxF-Gg4s='
encrypted text: b'gAAAAABlCZ_tOaTjOEhASdxEmdhn6Nhqjmsf48iQEc_AwzVhoJ91bbvQX2mskrngXj-jk98LMkfkj06KT3F-T2T5tiqi1tqmeg=='
decrypted_text: this is test
반응형
'프로그래밍 > python' 카테고리의 다른 글
Anaconda env 설치경로 변경 (0) | 2023.12.22 |
---|---|
[IntelliJ] Commit Changes 창에서의 spelling check 해제 (0) | 2023.11.30 |
Qt Designer 설치 (for PyQt6, PySide6) (4) | 2023.11.25 |
python 3.10 type hint / annotation (0) | 2023.09.03 |
Anaconda command list (0) | 2023.06.21 |