파이썬으로 해시 함수(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 해시 함수를 구현하는 방법을 알아보았습니다.

더 자세한 내용은 다음 링크를 참조해주세요: