파이썬으로 해시 함수(MD5, SHA-1, SHA-256) 구현하기
해시 함수는 주어진 데이터의 고정된 크기의 해시 값을 계산하는 알고리즘입니다. 이번에는 파이썬을 사용하여 MD5, SHA-1, SHA-256 해시 함수를 구현해 보겠습니다.
1. MD5 해시 함수 구현하기
MD5는 128비트 해시 값을 생성하는 알고리즘으로, 파이썬의 hashlib 모듈을 활용하여 간단하게 구현할 수 있습니다. 아래는 메시지를 입력받아서 MD5 해시 값을 출력하는 함수의 예시 코드입니다.
import hashlib
def md5_hash(message):
md5 = hashlib.md5()
md5.update(message.encode('utf-8'))
return md5.hexdigest()
message = "Hello, world!"
hash_value = md5_hash(message)
print("MD5 해시 값:", hash_value)
2. SHA-1 해시 함수 구현하기
SHA-1은 160비트 해시 값을 생성하는 알고리즘입니다. hashlib 모듈을 사용하여 SHA-1 해시 함수를 구현할 수 있습니다. 아래는 메시지를 입력받아서 SHA-1 해시 값을 출력하는 함수의 예시 코드입니다.
import hashlib
def sha1_hash(message):
sha1 = hashlib.sha1()
sha1.update(message.encode('utf-8'))
return sha1.hexdigest()
message = "Hello, world!"
hash_value = sha1_hash(message)
print("SHA-1 해시 값:", hash_value)
3. SHA-256 해시 함수 구현하기
SHA-256은 256비트 해시 값을 생성하는 알고리즘입니다. hashlib 모듈을 사용하여 SHA-256 해시 함수를 구현할 수 있습니다. 아래는 메시지를 입력받아서 SHA-256 해시 값을 출력하는 함수의 예시 코드입니다.
import hashlib
def sha256_hash(message):
sha256 = hashlib.sha256()
sha256.update(message.encode('utf-8'))
return sha256.hexdigest()
message = "Hello, world!"
hash_value = sha256_hash(message)
print("SHA-256 해시 값:", hash_value)
위의 코드를 실행하면 각각의 해시 함수로부터 생성된 해시 값이 출력됩니다.
위의 예시 코드를 참고하여 원하는 출력 형태로 해시 값을 사용하면 됩니다.
이상으로 파이썬을 사용하여 MD5, SHA-1, SHA-256 해시 함수를 구현하는 방법을 알아보았습니다.
더 자세한 내용은 다음 링크를 참조해주세요: