본문으로 바로가기

[코딩테스트]백준문제10930번 SHA-256

category CodingTest 2021. 3. 24. 08:10
728x90
반응형

백준문제

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

 

 

답안(PYTHON)

import hashlib

input_data = input()
encode_data = input_data.encode()
result = hashlib.sha256(encode_data).hexdigest()
print(result)

결과(PYTHON)

답안(PHP)

$input_data = readline();
$sha256_data = hash('sha256', $input_data);
echo $sha256_data;

결과(PHP)

php는 백준문제에 제출하려고 했으나, 언어선택에 없었다ㅠ

답안(Java)

import java.security.MessageDigest;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		try (Scanner sc = new Scanner(System.in)) {
			String inputData = sc.nextLine();
			MessageDigest md = MessageDigest.getInstance("SHA-256");
			md.update(inputData.getBytes());
			
			StringBuilder builder = new StringBuilder();
			for (byte b: md.digest()) {
				builder.append(String.format("%02x", b));
			}
			System.out.println(builder.toString());
		} catch(Exception ex) {
			
		}

				
	}
}

결과(Java)

참고사이트

www.acmicpc.net/problem/10930

728x90
반응형