[Python] 백준 10929번 SHA-224 풀이

by - October 26, 2018

Image result for 백준

Code

import hashlib
print(hashlib.sha224(input().encode('utf-8')).hexdigest())

hash에는 많은 종류가 있다(SHA1, SHA224, SHA256, SHA384, and SHA512 등).

각 종류마다 generate하는 값이 다른데,

문제에서 sha224를 원하므로 sha224를 사용하기 위해 위에 언급한 hash 함수를 다 포함하고있는 hashlib을 import한다.

hashlib.sha224() 와 같은 방식으로 원하는 hash 함수를 불러서 사용한다.

우선 커멘드에서 input을 받아야 되므로 input()을 사용했고

여기서 주의할 점!은 encode를 해주지 않으면

TypeError: Unicode-objects must be encoded before hashing

에러가 나기 때문에

input값 뒤에 .encode('utf-8')을 사용하여 utf-8로 encoding 해주어야한다.

마지막으로 .hexdigest()는 출력 값이 원래

'\xbbd\x9c\x83\xdd\x1e\xa5\xc9\xd9\xde\xc9\xa1\x8d\xf0\xff\xe9' 이딴 식으로 생겼기 때문에

우리가 원하는 hex 값으로 바꿔주기 위해 사용한다.

You May Also Like

0 comments