🍋
Menu
Security

SHA-256

SHA-256 (Secure Hash Algorithm 256-bit)

모든 입력에서 고정된 256비트(32바이트) 다이제스트를 생성하는 암호화 해시 함수로, 데이터 무결성 검증, 디지털 서명, 블록체인, 비밀번호 저장에 널리 사용됩니다.

기술 세부사항

NSA가 설계한 SHA-2 계열에 속하는 SHA-256은 비트 연산, 모듈러 덧셈, 압축 함수의 64라운드를 통해 512비트 블록 단위로 입력을 처리합니다. 출력은 64자 16진수 문자열(256비트)입니다. SHA-256에서는 실용적인 충돌이 발견되지 않았습니다(SHA-1과 MD5와 달리). 적용 분야에는 Git 커밋 해시, 비트코인 마이닝(이중 SHA-256), TLS 인증서 지문, 파일 무결성 검사(체크섬)가 포함됩니다. Web Crypto API의 subtle.digest('SHA-256', data)가 네이티브 브라우저 지원을 제공합니다. 비밀번호 해싱에는 의도적인 계산 비용 때문에 원시 SHA-256보다 전용 함수(bcrypt, Argon2)가 선호됩니다.

예시

```javascript
// SHA-256 — Web Crypto API example
const data = new TextEncoder().encode('sensitive data');
const hash = await crypto.subtle.digest('SHA-256', data);
const hex = Array.from(new Uint8Array(hash))
  .map(b => b.toString(16).padStart(2, '0')).join('');
```

관련 도구

관련 용어