반응형
Python에서 해싱을 간편하게 진행시킬 수 있도록 해주는 라이브러리인
hashlib에 대하여 간략하게 소개해보고 사용 방법 예시를 살펴보도록 하겠습니다.
hashlib에서 지원하는 해시 함수 종류
hashlib에서는 과거에 많이 활용되던 방법인 MD5 등부터
비교적 최신 해시 알고리즘인 SHA-3, BLAKE2 등까지
많은 종류의 해시 함수를 제공하고 있습니다.
지원하는 해시 함수의 종류는 아래와 같이 확인이 가능합니다.
import hashlib
print(hashlib.algorithms_guaranteed)
# {'shake_128', 'blake2b', 'sha256', 'sha3_384', 'sha3_512', 'sha224', 'sha3_256', 'shake_256', 'sha1', 'sha512', 'md5', 'blake2s', 'sha3_224', 'sha384'}
hashlib 해싱 방법 예시
hashlib 모듈을 활용하여 해싱을 진행하는 방법은 매우 간단합니다.
원하는 문자열을 인코딩한 뒤, 아래와 같은 형태로 원하는 해시 함수를 적용해주면 완료됩니다.
import hashlib
password = "123456" # 해싱을 원하는 문자열 예시
encoded_password = password.encode('utf-8') # 인코딩 필요!!!
# SHA-256
sha256_hash = hashlib.sha256(encoded_password).hexdigest()
# SHA-3
sha3_hash = hashlib.sha3_256(encoded_password).hexdigest()
# BLAKE2
blake2_hash = hashlib.blake2b(encoded_password).hexdigest()
print(f"SHA-256: {sha256_hash}")
print(f"SHA-3: {sha3_hash}")
print(f"BLAKE2: {blake2_hash}")
# 출력 결과
SHA-256: 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
SHA-3: d7190eb194ff9494625514b6d178c87f99c5973e28c398969d2233f2960a573e
BLAKE2: b3910b0f4b6f1aede44da90bb7705a868b265861b36e6f7f29dba7223f6f1ce7b10e0dd25e47deb70bd7f3b24f7da653409cd9014f8715e4013c15fee38ab418
hashlib 라이브러리에 대한 더 많은 상세한 내용이 궁금하시다면
아래에 첨부한 공식 문서를 참고해보세요.
실제로 해시 함수 활용이 필요한 경우, 보안 레벨이 비교적 높은 최신 알고리즘을
사용하는 것이 좋다는 점을 염두해주세요.
'Python > Utils' 카테고리의 다른 글
파이썬에서 종료 시에 특정 함수를 실행하는 방법(atexit 모듈) (2) | 2023.10.04 |
---|---|
파이썬 특정 시각에 코드를 실행하는 방법(schedule, threading 모듈 활용) (0) | 2023.09.18 |
파이썬 requests 비동기로 요청하기(aiohttp 및 asyncio 활용) (0) | 2023.09.16 |