1. 백준, SHA-256, 10930번
2. 생각해보자
- 이번 문제는 쉬어가는 문제다.
- 해시함수를 어떻게 사용하는지 알기만 하면 풀 수 있는 문제이기 때문이다.
- 어떻게 사용하는지 알아보자.
3. 풀이 및 코드분석
- 해시 함수는 암호화 작업이다.
- 어떤 문자를 넣었을 때, 해당 문자를 굉장히 긴 길이의 문자열로 변환시켜준다.
- SHA-256 는 여러 해시 알고리즘 중에서 가장 효율적(=빠름)이고 안정적인 해시 함수라고 할 수 있다.
- SHA-256을 안정적인 이유중 하나가 단방향성 암호화 방법으로, 복호화가 불가능 하다는 점이다.
- 기본적으로 언어마다 제공하는 해시 함수가 존재하기 때문에 이번 문제는 이를 이용하여 풀어주면 된다.
import hashlib # 해시 라이브러리 import
input_data = input()
encoded_data = input_data.encode() # 해시 함수를 사용하기 위해 바이트코드로 변환한다.
result = hashlib.sha256(encoded_data).hexdigest()
# 바이트 코드를 해시함수를 이용하여 해시 객체로 만든다.
# hexidigest()를 사용하여 사람이 읽을 수 있는 16진수 문자열 형태로 번역해준다.
print(result)
'Algorithm > 알고리즘 문제풀이' 카테고리의 다른 글
오늘의 알고리즘(4월 14일, feat.Union Find) (0) | 2021.04.14 |
---|---|
오늘의 알고리즘 (4월 13일) (0) | 2021.04.13 |
오늘의 알고리즘(4월 8일) (0) | 2021.04.08 |
오늘의 알고리즘(4월 7일) (0) | 2021.04.07 |
오늘의 알고리즘(4월 6일) (0) | 2021.04.06 |
댓글