[BaekJoon] 10930 SHA-256 (java)

SeongWon Oh·2021년 9월 30일
0
post-thumbnail

SHA-256이란?

  • SHA-256은 SHA(Secure Hash Algorithm) 알고리즘의 한 종류로 256비트로 구성되며 64자리 문자열을 반환한다.
  • 해시 알고리즘인 SHA-2 계열 중 하나이며, 22562^{256}만큼 경우의 수를 만들 수 있습니다.
  • SHA-256 해시 함수는 어떤 길이의 값을 입력하더라도 256비트의 고정된 결과값을 반환합니다.
  • SHA-256은 단방향 암호화 방식이기 때문에 복호화가 불가능합니다.
  • 복호화를 하지 않아도 되기 때문에 속도가 빠르다.
  • 사용 예로 비밀번호의 일치여부 확인이 있습니다.

🔗 문제 링크

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


👨🏻‍💻 SHA-256 코드

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

public class Main {

	public static void main(String[] args) throws NoSuchAlgorithmException {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		
		String input = sc.nextLine();
		
		MessageDigest md = MessageDigest.getInstance("SHA-256");
		md.update(input.getBytes());
		
		StringBuilder sb = new StringBuilder();
		for(byte b: md.digest()) {
			sb.append(String.format("%02x", b));
		}
		
		System.out.println(sb.toString());
	
	}

}

🔗 Reference

https://bamdule.tistory.com/233

profile
블로그 이전했습니다. -> https://seongwon.dev/

0개의 댓글