본문 바로가기

Dev/Python

hash 값 생성

python에는 hash를 사용하기 위한 라이브러리들이 내장되어 있다.

그 중 md5를 이용하여 아래와 같이 해시 값을 생성할 수 있다.

 

from hashlib import md5
data = 'a'
hash_value = md5(data.encode('utf8')).hexdigest()

print (hash_value)

 

아래 파이썬 문서를 확인해보면 해시 알고리즘 생성자는 sha1, sha224, sha256, sha384, sha512, blake2b, blake2s가 있고 md5는 일반적으로 사용할 수 있지만 드물게 빠지는 경우가 있다고 한다.

 

https://docs.python.org/ko/3/library/hashlib.html

 

hashlib — 보안 해시와 메시지 요약 — Python 3.10.0 문서

hashlib — 보안 해시와 메시지 요약 소스 코드: 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, SHA384, an

docs.python.org

 

위와 같이 해시를 생성한경우 아래와 같이 key로 활용하게 되면 중복되는 경우에서 자유롭다.

from hashlib import md5
datam = ['tistory', 'blog']

dict={}
for data in datam:
    key = md5(data.encode('utf8')).hexdigest()
    dict[key] = 'data'

print (dict)
{'7260b361e0a26d24cd9602b4e84ba811': 'data', '126ac9f6149081eb0e97c2e939eaad52': 'data'}