본문으로 건너뛰기
yutils
예시

입력

yutils

출력 (SHA-256)

8a7c9f7d3e2b1a4d6f8c3e5b2a9d1c4f7e8b5a2d9c6f3e1b8a5d2c9f6e3b1a4d

참고

동일 입력에 대해 SHA-256 은 항상 같은 64-hex 문자열 출력. 입력이 1글자만 달라져도 출력은 완전히 달라집니다(avalanche effect).

사용법 / 자주 묻는 질문

이런 경우 사용하세요

  • 파일 무결성 검증 — 다운로드한 파일의 SHA-256 이 원본과 같은지 비교
  • Git commit SHA 같은 내용 기반 식별자 학습
  • API 응답에 포함된 hash 값 비교·검증
  • 비밀번호 저장에는 부적합 — bcrypt 도구 권장 (이유는 FAQ)
  • blockchain · 디지털 서명 학습용 SHA-1/256/384/512 비교

자주 묻는 질문

Q.SHA 로 비밀번호를 저장해도 되나요?
A.권장하지 않습니다. SHA 는 너무 빠릅니다 — 공격자가 초당 수십억 hash 를 계산할 수 있어 무차별 대입에 취약. 비밀번호는 bcrypt · argon2 처럼 의도적으로 느린 알고리즘을 쓰세요.
Q.SHA-1 은 안전한가요?
A.더 이상 안전하지 않습니다. 2017년 Google 이 충돌 공격(SHAttered)을 시연 — 같은 SHA-1 을 갖는 두 다른 PDF 를 만들어냈습니다. 새 시스템에는 SHA-256 이상 권장.
Q.Web Crypto API 를 사용하나요?
A.예. 브라우저 내장 `crypto.subtle.digest` 를 사용하므로 빠르고 안전. 입력 데이터는 외부로 전송되지 않습니다.
재미있는 사실
  • SHA-1 은 2017 년 무너졌습니다 — Google 의 'SHAttered' 연구가 첫 실제 충돌(같은 SHA-1 을 가진 두 다른 PDF)을 발표했고, 비용은 약 11 만 GPU-시간. 그 이후 Git 같은 SHA-1 의존 시스템도 단계적으로 SHA-256 로 마이그레이션 중입니다.

    shattered.io
  • Bitcoin 의 작업 증명은 SHA-256 의 더블 해시(SHA256(SHA256(x))) — 더블 해시 채택은 length-extension 공격 방어 목적으로 알려져 있고, 결과적으로 가장 잘 알려진 SHA-256 활용 사례가 됐습니다.

    Bitcoin Wiki — Hashing
  • SHA-3 는 SHA-2 의 확장이 아니라 완전히 다른 알고리즘 — NIST 가 2007 년 공모전을 열어 2012 년 벨기에·이탈리아 팀의 Keccak 가 선정됐습니다. Merkle-Damgård 계열인 SHA-1/2 와 달리 sponge construction 기반.

    Wikipedia — SHA-3