티스토리 뷰

https://www.acmicpc.net/problem/10930

 

10930번: SHA-256

첫째 줄에 문자열 S가 주어진다. S는 알파벳 대문자와 소문자, 그리고 숫자로만 이루어져 있으며, 길이는 최대 50이다.

www.acmicpc.net

문제

문자열 S가 주어졌을 때, SHA-256 해시값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 문자열 S가 주어진다. S는 알파벳 대문자와 소문자, 그리고 숫자로만 이루어져 있으며, 길이는 최대 50이다.

출력

첫째 줄에 S의 SHA-256 해시값을 출력한다.

예제 입력 1

Baekjoon

예제 출력 1

9944e1862efbb2a4e2486392dc6701896416b251eccdecb8332deb7f4cf2a857

문제풀이

 

설명

SHA256 알고리즘 : hashlib 모듈에서 제공하는 sha256은 RSA의 FIPS 알고리즘을 바탕으로 하며, 주어진 바이트(byte) 문자열의 해시값을 구하는 해시 알고리즘의 생성자입니다. hashlib모듈은 sha256외에도 MD5 알고리즘인 md5 등 다양한 해시 알고리즘을 제공합니다.

 

encode() 함수 : hashlib.sha256에는 바이트 문자열의 인수를 전달해야 합니다. 그래서 key를 str형 문자열로 변환한 뒤 그 문자열을 encode()함수에 전달하여 바이트 문자열을 생성합니다.

 

hexdigest() 함수 : sha256 알고리즘에서 해시값을 16진수 문자열로 꺼냅니다.