예시
입력
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.ioBitcoin 의 작업 증명은 SHA-256 의 더블 해시(SHA256(SHA256(x))) — 더블 해시 채택은 length-extension 공격 방어 목적으로 알려져 있고, 결과적으로 가장 잘 알려진 SHA-256 활용 사례가 됐습니다.
Bitcoin Wiki — HashingSHA-3 는 SHA-2 의 확장이 아니라 완전히 다른 알고리즘 — NIST 가 2007 년 공모전을 열어 2012 년 벨기에·이탈리아 팀의 Keccak 가 선정됐습니다. Merkle-Damgård 계열인 SHA-1/2 와 달리 sponge construction 기반.
Wikipedia — SHA-3
관련 도구
- Base64 인코딩 / 디코딩
텍스트를 Base64로 인코딩하거나 디코딩합니다. 브라우저에서 즉시 실행되며 서버로 데이터가 전송되지 않습니다.
- URL 인코딩 / 디코딩
URL에 사용할 수 있도록 텍스트를 퍼센트 인코딩하거나 인코딩된 URL을 디코딩합니다. 브라우저에서 즉시 실행됩니다.
- UUID / ULID 생성기
UUID v4(랜덤) · UUID v7(시간 순서, RFC 9562) · ULID를 브라우저에서 생성합니다.
- JWT 디코더
JWT(JSON Web Token)의 header와 payload를 디코딩하여 표시합니다. 서명 검증은 수행하지 않으며(공개키 필요), 토큰은 브라우저에서만 처리됩니다.
- JWT 생성기 (HMAC)
HS256/HS384/HS512(HMAC-SHA) 알고리즘으로 서명된 JWT를 생성합니다. payload·secret 모두 브라우저에서만 처리 — Web Crypto API 기반.
- Hex 인코딩 / 디코딩
텍스트를 16진수로 인코딩하거나 디코딩합니다. UTF-8을 자동 처리하며 공백을 무시합니다.
- HTML 엔티티 인코딩 / 디코딩
HTML 특수 문자(&, <, >, ", ')를 엔티티로 인코딩하거나, 이름/숫자 엔티티를 텍스트로 디코딩합니다.
- 비밀번호 생성기
암호학적으로 안전한 비밀번호·토큰·랜덤 문자열·패스프레이즈를 생성하고 엔트로피를 표시합니다.
- 진수 변환기
BigInt 기반으로 큰 정수까지 2/8/10/16/36진수 변환. 0b/0o/0x 자동 감지.
- URL 파서
URL을 프로토콜·호스트·경로·쿼리·해시로 분해해 한눈에 보여줍니다 (읽기 전용).
- HMAC 생성기
Web Crypto API로 SHA-1/256/384/512 HMAC을 계산합니다. 서명·검증 키 기반.
- HMAC 검증기
주어진 HMAC 서명이 message + secret 으로 만든 값과 일치하는지 검증합니다. Web Crypto API + constant-time 비교.
- MD5 해시
텍스트의 MD5 해시를 계산합니다. 주의: MD5는 보안용으로 부적합 — 체크섬·레거시 호환에만 사용.
- Punycode (국제화 도메인)
한글·다국어 도메인을 Punycode(xn-- ASCII)로 상호 변환합니다. 브라우저 native URL 사용.
- HTTP 상태 코드
HTTP 상태 코드(1xx-5xx)를 검색·탐색합니다. 설명과 일반 사용 사례 포함.
- User-Agent 파서
User-Agent 문자열을 브라우저·OS·기기·엔진별로 분해합니다.
- Bcrypt 해시
Bcrypt로 비밀번호를 해시하거나 기존 해시와 평문을 검증합니다. salt rounds 조정 가능.
- 쿠키 파서
Cookie 또는 Set-Cookie 문자열을 표로 분해합니다. percent-encoded 값 복원 + Set-Cookie 속성(Path/Domain/Max-Age/SameSite/HttpOnly/Secure) 인식.
- IP / CIDR 계산기
IPv4 주소와 CIDR로 네트워크 주소·브로드캐스트·호스트 범위·서브넷 마스크·호스트 수를 계산합니다.
- cURL 빌더
URL·method·헤더·본문으로 cURL 명령을 만듭니다. JSON content-type 자동.