해시 생성기

🔐 인코딩

입력 텍스트에 대해 MD5, SHA-1, SHA-256, SHA-512 등 여러 알고리즘의 해시값을 산출합니다.

• MD5: 128비트 해시 (보안 용도로는 권장하지 않음)

• SHA-256: 256비트 해시 (가장 널리 사용됨)

• SHA-512: 512비트 해시 (더 높은 보안성)

🔒 해시 생성기란?

해시는 임의 길이 입력을 고정 길이 지문으로 압축하는 단방향 함수입니다. 1바이트가 바뀌어도 결과 전체가 완전히 다른 값으로 튀어 오르는 "눈사태 효과(Avalanche Effect)"가 핵심 특성입니다. 이 도구는 MD5, SHA-1, SHA-256, SHA-384, SHA-512 다섯 가지 해시를 동시에 뽑아 줍니다. SHA-2 계열은 브라우저의 Web Crypto API(crypto.subtle.digest)를 그대로 사용하므로 로컬에서 즉시 계산되며 네트워크 전송이 없습니다.

📊 해시 알고리즘 비교

알고리즘출력 길이보안성용도
MD5128bit (32자)취약체크섬 (비보안)
SHA-1160bit (40자)비권장레거시 호환
SHA-256256bit (64자)안전범용 (가장 권장)
SHA-384384bit (96자)안전고보안 환경
SHA-512512bit (128자)안전최고 보안 수준

📜 알고리즘별 역사와 깨진 시점

  • MD5 (1991) — 1995년 약점 지적, 2004년 Wang Xiaoyun 팀이 충돌 공격을 실용화하면서 사실상 깨졌습니다. 2008년에는 가짜 SSL 인증서가 만들어진 사례도 있어 단순 체크섬 외에는 쓰지 않습니다.
  • SHA-1 (1995) — NSA 설계. 2017년 구글의 SHAttered 공격으로 두 개의 서로 다른 PDF가 같은 SHA-1을 갖는 사례가 공개되며 폐기 권고가 굳어졌습니다.
  • SHA-256 (현재 산업 표준) — 비트코인 작업증명에 쓰이며 64라운드 압축으로 256비트 다이제스트를 만듭니다.
  • SHA-384/512, SHA-3(Keccak) — 더 큰 다이제스트가 필요한 정부 등급 시스템에서 사용합니다.

🔒 보안 주의

비밀번호 저장에 SHA-256은 부족합니다. GPU로 초당 수십억 번 시도가 가능하기 때문입니다. bcrypt, scrypt, Argon2 같은 의도적으로 느린 알고리즘과 사용자별 salt를 함께 써야 합니다.

자주 묻는 질문

MD5는 왜 보안에 취약한가요?

2004년 Wang Xiaoyun 연구진이 실용적인 충돌 공격을 발표한 뒤 일반 PC로도 수 시간이면 서로 다른 두 입력이 같은 MD5를 갖도록 만들 수 있게 되었습니다. 파일이 변조되었는지 확인하는 체크섬 정도라면 여전히 쓸 수 있지만, 디지털 서명이나 인증서에는 절대 사용해서는 안 됩니다.

비밀번호 저장에 SHA-256을 쓰면 안 되나요?

SHA-256은 너무 빠르기 때문에 GPU로 초당 수십억 번 시도하는 무차별 대입에 취약합니다. 비밀번호는 의도적으로 느리게 설계된 bcrypt(2^cost 라운드), scrypt(메모리 비용), Argon2(2015 PHC 우승)를 사용해야 하며, 사용자별 salt도 반드시 함께 저장합니다.

같은 텍스트라면 어디서 해시해도 결과가 같나요?

네. 같은 알고리즘과 같은 입력 바이트 시퀀스라면 OS, 언어, 시간이 달라도 결과는 동일합니다. 이 결정성 덕분에 파일 다운로드 무결성 검증, Git 객체 ID, IPFS 콘텐츠 주소 등에 활용됩니다.

해시 결과로 원본을 복원할 수 있나요?

수학적으로 불가능합니다. 다만 입력 공간이 좁으면(예: 4자리 PIN) 사전 공격으로 역추적될 수 있어 salt와 충분한 길이의 입력을 함께 써야 안전합니다.

관련 도구

광고