Python/Utils

파이썬 해시 함수 모듈 hashlib 사용법

jimmy_AI 2023. 9. 23. 21:03
반응형

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 라이브러리에 대한 더 많은 상세한 내용이 궁금하시다면

아래에 첨부한 공식 문서를 참고해보세요.

 

hashlib — Secure hashes and message digests

Source code: Lib/hashlib.py This module implements a common interface to many different secure hash and message digest algorithms. Included are the FIPS secure hash algorithms SHA1, SHA224, SHA256,...

docs.python.org

 

실제로 해시 함수 활용이 필요한 경우, 보안 레벨이 비교적 높은 최신 알고리즘을

사용하는 것이 좋다는 점을 염두해주세요.