Choose a default theme

You can change your theme from the menu

SHA-256

Earlier revision · 1View current content

SHA-256은 입력 데이터를 256비트 길이의 해시값으로 변환하는 SHA-2 계열 함수이다. 같은 바이트 입력에는 같은 출력이 나오며, 일반적인 암호화처럼 키로 원문을 복호화하는 기능은 제공하지 않는다.

분야

256비트 출력을 만드는 암호학적 해시 함수

고정 길이 요약

입력이 길어져도 출력 길이는 256비트, 즉 32바이트이다. 16진수로 표시하면 64자리지만 이는 표시 형식의 차이이지 추가적인 보안 강도가 아니다. 줄바꿈이나 문자 인코딩이 달라지면 입력 바이트가 바뀌므로 결과도 달라질 수 있다.

파일 검증 예시

배포자가 신뢰할 수 있는 경로로 제공한 해시값과 내려받은 파일의 해시값을 비교하면 파일이 같은지 확인하는 데 활용할 수 있다. 공격자가 파일과 비교 기준 해시를 함께 바꿀 수 있다면 해시 비교만으로 출처를 인증할 수는 없다.

해시와 인증의 차이

비밀 키 없는 해시값은 누구나 계산할 수 있다. 메시지와 함께 SHA-256 값을 전송하는 것만으로 정당한 발신자가 보냈다는 보장이 생기지 않는다. 공유 키 기반 인증이 필요하면 HMAC 같은 목적에 맞는 구성을 사용한다.

비밀번호 저장과의 차이

일반 해시 함수는 빠르게 계산할 수 있도록 설계되어 비밀번호 추측을 늦추는 비용 조절 기능과 목적이 다르다. 비밀번호 저장은 솔트와 메모리·시간 비용을 다루는 Argon2 등의 전용 구성을 검토한다. SHA-256과 AES-256의 숫자가 같아도 종류와 역할은 전혀 다르다.

참고 자료

관련 기술 비교

암호 알고리즘

암호화

AES · RSA

해시·인증

SHA-256 · HMAC

비밀번호 해싱

Argon2