Hash 생성기

텍스트나 파일의 해시값을 생성합니다. MD5, SHA-1, SHA-256, SHA-512 등 다양한 알고리즘을 지원합니다.

해시 알고리즘 안내

  • • MD5: 128비트, 빠르지만 보안용으로 부적합 (체크섬용)
  • • SHA-1: 160비트, 레거시 시스템 호환용
  • • SHA-256: 256비트, 현재 가장 많이 사용되는 표준
  • • SHA-512: 512비트, 더 높은 보안이 필요한 경우

해시 생성기 가이드

해시(Hash)란?

해시 함수는 임의 길이의 데이터를 입력받아 고정 길이의 고유한 문자열(해시값, 다이제스트)로 변환하는 암호학적 알고리즘입니다. 같은 입력은 언제나 동일한 해시값을 생성하지만, 해시값만으로 원본 데이터를 복원하는 것은 수학적으로 불가능합니다. 이런 단방향 특성 덕분에 파일 무결성 검증, 비밀번호 안전 저장, 디지털 서명, 블록체인 트랜잭션 검증 등 보안이 중요한 거의 모든 분야에서 핵심적으로 활용됩니다. 이 도구는 MD5, SHA-1, SHA-256, SHA-384, SHA-512 다섯 가지 알고리즘으로 텍스트나 파일의 해시값을 한 번에 생성해줍니다. 해시 함수의 역사는 1950년대 데이터 검색을 위한 해시 테이블 개념에서 시작되었습니다. 암호학적 해시 함수로서 MD5는 1991년 Ron Rivest가, SHA-1은 1995년 NSA가 발표했으며, 이후 보안 취약점이 발견되면서 SHA-2 계열(SHA-256, SHA-384, SHA-512)이 현재의 표준으로 자리 잡았습니다. 최근에는 SHA-3(Keccak)이라는 완전히 새로운 구조의 해시 함수도 표준화되었습니다.

MD5와 SHA-1은 쓰지 마세요

두 알고리즘은 충돌이 실제로 발견된 상태입니다. 충돌이란 서로 다른 두 입력이 같은 해시값을 갖는 경우로, 이것이 가능하면 무결성 검증의 근거가 무너집니다.

MD5는 2004년에 충돌이 발견됐고 지금은 일반 노트북으로도 몇 초 만에 만들어낼 수 있습니다. SHA-1은 2017년 구글과 CWI 연구진이 같은 해시값을 갖는 서로 다른 PDF 두 개를 실제로 제작해 보였습니다. 이후 주요 브라우저와 인증기관이 SHA-1 인증서를 폐기했습니다.

파일이 손상 없이 전송됐는지 확인하는 정도라면 여전히 쓸 수 있지만, 누군가 고의로 위조할 가능성이 있는 상황에서는 안 됩니다. 새로 만드는 시스템이라면 SHA-256을 기본으로 선택하세요.

비밀번호 저장에는 부적합합니다

중요한 구분입니다. SHA-256이 안전한 해시 함수인 것은 맞지만 비밀번호를 저장하는 용도로는 오히려 위험합니다. 이유가 역설적입니다. 너무 빠르기 때문입니다.

일반 그래픽카드로 SHA-256을 초당 수십억 번 계산할 수 있습니다. 유출된 해시 목록을 놓고 흔한 비밀번호를 전부 대입하는 데 오래 걸리지 않습니다. 비밀번호 저장에는 일부러 느리게 설계된 bcrypt, scrypt, Argon2 같은 알고리즘을 써야 합니다. 계정마다 다른 소금값을 섞는 것도 필수입니다.

파일 검증에 쓰는 법

가장 실용적인 용도입니다. 오픈소스 프로그램을 내려받으면 배포처가 SHA-256 값을 함께 공개하는 경우가 많습니다. 받은 파일의 해시를 계산해 그 값과 대조하면 전송 중 손상되었거나 다른 파일로 바꿔치기되지 않았음을 확인할 수 있습니다.

이 도구에 파일을 끌어다 놓으면 해시를 계산해 줍니다. 한 글자만 달라도 결과가 완전히 바뀌므로 눈으로 앞뒤 몇 자리만 비교해도 충분합니다.

자주 묻는 질문

해시로 원본을 되돌릴 수 있나요?

계산으로는 불가능합니다. 다만 흔한 값은 미리 계산된 표로 조회될 수 있습니다. 짧은 비밀번호나 전화번호처럼 경우의 수가 적은 값은 해시로 가려도 안전하지 않습니다.

같은 파일인데 해시가 다릅니다

내용이 한 바이트라도 다르면 결과가 전혀 달라집니다. 텍스트 파일이라면 줄바꿈 문자 차이가 원인인 경우가 많습니다. 윈도우와 리눅스의 줄바꿈이 다르기 때문입니다.

파일이 서버로 올라가나요?

올라가지 않습니다. 브라우저에 내장된 암호화 기능으로 기기 안에서 계산하므로 파일이 외부로 나가지 않습니다.

같이 보면 좋은 도구

관련 블로그 글