Python/Project

hashlib의 MD5 사용 - 공부하는 도비

DOVISH WISDOM 2022. 11. 21. 16:11  
728x90
반응형

MD5는 "Message-Digest algorithm 5"의 약자로 1991년 만들어진 128bit 길이의 해시값을 출력하는 해시함수입니다. 

자세한 내용은 아래 위키백과를 참고해주세요. 

https://ko.wikipedia.org/wiki/MD5

 

MD5 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. MD5(Message-Digest algorithm 5)는 128비트 암호화 해시 함수이다. RFC 1321로 지정되어 있으며, 주로 프로그램이나 파일이 원본 그대로인지를 확인하는 무결성 검사 등에

ko.wikipedia.org


파이썬에서 MD5 해시함수를 사용하려면 파이썬 자체에서 제공하는 hashlib 모듈의 md5나 Pycryptodome 모듈에서 제공하는 MD5를 임포트 하면 됩니다.

from hashlib import md5

str = "ABCDEFG"
result = md5(str.encode('utf-8')).hexdigest()

print(result)

# hashlib의 md5 함수에 전달하는 문자열은 바이트 문자열이어야 하므로, .encode('utf-8')을 이용하여 문자열을 utf-8 형식의 바이트 문자열로 변환시킴
# hexdigest() : 문자열을 해싱한 다음에는 digest() 또는 hexdigest() 함수를 사용하여 해싱한 문자열을 얻을 수 있다.

위의 코드는 md5를 import 시킨 경우고, 아래는 hashlib만 import 시킨 경우입니다.

import hashlib

str = "ABCDEFG"
result = hashlib.md5(str.encode('utf-8')).hexdigest()

print(result)

동일한 결과가 나온걸 확인할 수 있습니다.

 

또는 Cryoto.Hash에 있는 MD5를 import해도 됩니다.

from Crypto.Hash import MD5

str = 'ABCDEFG'

result = MD5.new()
result.update(str.encode('utf-8'))

print(result.hexdigest())

물론 동일한 결과가 나옵니다.

 

반응형