
해시 함수에 전달할 입력 값은 bytes형이어야 하며 hashlib 모듈을 통해 MD5 알고리즘을 사용할 수 있습니다.
MD5의 출력값의 길이는 16바이트입니다.
import hashlib
PLAIN_TEXT = "Hello, World"
print(hashlib.md5(PLAIN_TEXT.encode()).digest()) # b'\x82\xbbA7F\xae\xe4/\x89\xde\xa2\xb5\x96\x14\xf9\xef'
print(hashlib.md5(PLAIN_TEXT.encode()).hexdigest()) # 82bb413746aee42f89dea2b59614f9ef
해시 함수에 전달할 입력 값은 bytes형이어야 하며 hashlib 모듈을 통해 SHA2 알고리즘을 사용할 수 있습니다.
SHA-256의 출력값의 길이는 32바이트이며 SHA-384의 출력값의 길이는 48바이트입니다.
import hashlib
PLAIN_TEXT = "Hello, World"
print(hashlib.sha256(PLAIN_TEXT.encode()).digest()) # b'\x03gZ\xc5?\xf9\xcd\x155\xcc\xc7\xdf\xcd\xfa,E\x8cR\x187\x1fA\x8d\xc16\xf2\xd1\x9a\xc1\xfb\xe8\xa5'
print(hashlib.sha256(PLAIN_TEXT.encode()).hexdigest()) # 03675ac53ff9cd1535ccc7dfcdfa2c458c5218371f418dc136f2d19ac1fbe8a5
print(hashlib.sha384(PLAIN_TEXT.encode()).digest()) # b'\xc7\xb9\xb2\xdb\xbd\xd2+\x8a:J\xd0\x11\xe3&\xd56\xf6\x03\xa4\x04\xe5Z\xf4q\x96\xa2M\xb6Q=\x87w\x06\xd1"\xb3][E\xda\xebft\xf9R~\x96Y'
print(hashlib.sha384(PLAIN_TEXT.encode()).hexdigest()) # c7b9b2dbbdd22b8a3a4ad011e326d536f603a404e55af47196a24db6513d877706d122b35d5b45daeb6674f9527e9659
해시 함수에 전달할 입력 값은 bytes형이어야 하며 hashlib 모듈을 통해 SHA2 알고리즘을 사용할 수 있습니다.
SHA3-256의 출력값의 길이는 32바이트이며 SHA3-384의 출력값의 길이는 48바이트입니다.
import hashlib
PLAIN_TEXT = "Hello, World"
print(hashlib.sha3_256(PLAIN_TEXT.encode()).digest()) # b'\x84J\xf7\xbfj]ACY\xdc\xd8\x84\\\xb5-QS\x97A\x0e\x16h\xe0\x0c\x84i\xea\x87(\xc4\xff\xe8'
print(hashlib.sha3_256(PLAIN_TEXT.encode()).hexdigest()) # 844af7bf6a5d414359dcd8845cb52d515397410e1668e00c8469ea8728c4ffe8
print(hashlib.sha3_384(PLAIN_TEXT.encode()).digest()) # b'C\xe6y^\xc4\t\xe7<!@I\xe1^p\xbcIj\xe85\x02J\xeb\x85Q\xe8*_v\xacb\xf4\x8a\xa2\xe3nI\xe1\xc1\xa2\x14\x00\x9cF\xe6l\x9d\x93\xe9'
print(hashlib.sha3_384(PLAIN_TEXT.encode()).hexdigest()) # 43e6795ec409e73c214049e15e70bc496ae835024aeb8551e82a5f76ac62f48aa2e36e49e1c1a214009c46e66c9d93e9