본문 바로가기

해시 생성기

텍스트나 파일을 넣으면 MD5·SHA-256 같은 고정 길이 지문값을 만듭니다. 파일이 같은지 확인하거나 무결성을 검증할 때 씁니다.

로딩 중...

왜 만들었나요

영상 분석 서비스를 만들다가 같은 영상이 계정만 바꿔 반복해서 올라오는 걸 발견했습니다. 파일명은 제각각이고 용량도 비슷해 눈으로는 같은 영상인지 가릴 방법이 없었죠. 결국 파일 내용 자체를 지문처럼 뽑아 비교하기로 했고, 그때 쓴 게 해시입니다.

Note

입력한 텍스트와 파일은 서버로 전송되지 않습니다. 계산이 전부 브라우저 안에서 이뤄져, 큰 영상 파일을 넣어도 업로드 없이 그 자리에서 처리됩니다.


해시 생성기 사용 방법

  1. 위쪽에서 텍스트파일 중 입력 방식을 고릅니다. 텍스트 칸에 파일을 끌어다 놓으면 자동으로 파일 모드로 넘어갑니다.

    해시 생성기의 빈 입력 카드 — INPUT·FILE 입력 방식 탭과 아래쪽에 포맷 HEX·BASE64·BINARY 버튼 세 개, 오른쪽에 Convert 버튼

  2. 문자열을 붙여넣거나 파일을 올립니다. 샘플 버튼으로 시작해도 됩니다. 텍스트는 입력을 멈추면 잠깐 뒤 저절로 계산되고, 바로 보고 싶으면 오른쪽 아래 Convert를 누르면 됩니다.

    입력창에 'hello utilzip 2026'을 넣어 포맷 HEX가 선택된 상태로 Convert 버튼이 활성화된 화면

  3. 여덟 종류의 해시값이 위에서부터 차례로 나옵니다(끝까지 보려면 결과 영역을 내려 보세요). 각 줄 끝의 복사 버튼으로 원하는 값만 가져가고, 맨 위 받은 해시값과 대조 칸에 배포처가 알려 준 값을 붙여넣으면 일치 여부를 바로 확인할 수 있습니다.

    받은 해시값과 대조 칸 아래로 MD5 128bit·SHA-1 160bit·SHA-224·SHA-256·SHA-384·SHA-512·SHA3-512·RIPEMD-160 여덟 줄이 값과 비트 수·계산 시간·복사 버튼과 함께 나열된 결과

  4. 배포처에서 받은 해시값이 있으면 결과 위 대조 칸에 붙여넣으세요. 일치 여부와 어느 알고리즘의 값인지 자동으로 알려 줍니다. 대소문자·공백·콜론·하이픈은 무시하고 비교하니 형태가 조금 달라도 됩니다.

이렇게 나옵니다

같은 내용의 파일 두 개를 각각 넣으면 이렇게 나옵니다.

넣은 것나온 것
20240301_final.mp4SHA-256: 9f86d081884c7d65…
intro_v2.mp4 (이름만 다른 같은 영상)SHA-256: 9f86d081884c7d65…값이 같음

이름·경로가 달라도 내용이 같으면 해시가 같습니다. 반대로 한 글자만 달라도 값이 완전히 달라집니다.

알아두면 좋은 것

어떤 알고리즘을 쓸까

알고리즘쓰임
SHA-256기본으로 권장. 보안·무결성 검증 전반
SHA-512더 긴 값이 필요할 때
SHA3-512다른 계산 방식이 필요할 때. 최신 규격에서 요구하는 경우
RIPEMD-160일부 금융·블록체인 규격과 값을 맞출 때
MD5 · SHA-1보안 용도로는 쓰지 마세요. 파일 중복 확인 정도로만

MD5와 SHA-1은 오래된 방식이라 다른 내용인데 같은 값이 나오도록 조작하는 방법이 알려져 있습니다. 파일이 같은지 대충 확인하는 데는 아직 쓰이지만, 비밀번호나 서명에는 절대 쓰면 안 됩니다.

이럴 때 씁니다

  • 파일 중복 찾기 — 이름이 달라도 내용이 같은 파일을 묶을 때
  • 다운로드 검증 — 배포처가 알려 준 값을 대조 칸에 넣어 파일이 온전한지 확인
  • 변경 감지 — 파일이 바뀌었는지 값만 비교해서 판단

이런 경우에는

해시로 원래 값을 되돌릴 수 있나요

없습니다. 해시는 한 방향으로만 계산되는 값이라, 결과에서 원본을 되찾을 수 없습니다.

다만 흔한 비밀번호는 미리 계산해 둔 목록과 대조해서 알아낼 수 있습니다. 그래서 비밀번호를 저장할 때는 해시만 쓰지 않고 무작위 값을 섞는 방식(솔트)을 함께 씁니다.

큰 파일을 넣으니 시간이 걸려요

파일 전체를 읽어 계산하므로 크기에 비례해 시간이 듭니다. 걸린 시간이 함께 표시되니 참고하세요. 계산이 내 브라우저에서 이뤄지기 때문에 기기 성능에 따라서도 달라집니다.

파일을 기기 메모리에 통째로 올려 계산하기 때문에 아주 큰 파일(대략 1~2GB 이상)은 실패할 수 있습니다. 그때는 "파일을 읽지 못했습니다"라는 안내가 뜨니, 파일을 나눠서 계산하면 됩니다.

이 도구로는 안 되는 것

  • 암호화가 아닙니다. 되돌릴 수 없으니 데이터를 숨기는 용도로는 못 씁니다
  • 비밀키로 서명하려면 HMAC 생성기를 쓰세요
  • 글 자체를 잠가서 전달하려면 텍스트 암호화 복호화를 쓰세요

용어 설명

해시

어떤 데이터를 넣든 정해진 길이의 값 하나로 바꿔 주는 계산입니다. 같은 입력이면 항상 같은 값이 나오고, 조금만 달라져도 전혀 다른 값이 나옵니다. 파일의 지문이라고 보면 됩니다.

Hex · Base64 · Binary

같은 값을 글자로 적는 방식의 차이입니다. Hex는 0-9a-f로, Base64는 영문자·숫자·기호를 섞어 더 짧게 적습니다. Binary는 같은 값을 0과 1로만 길게 적은 것이라 SHA-256이면 256자가 됩니다. 값 자체는 같고 표기만 다릅니다.

해시 생성기 자주 묻는 질문

MD5나 SHA-1처럼 취약한 알고리즘도 사용해도 되나요?

MD5와 SHA-1은 충돌 공격이 발견되어 보안 용도(비밀번호 저장, 디지털 서명)에는 적합하지 않습니다. 다만 파일 다운로드 체크섬이나 데이터 중복 검사 같은 비보안 무결성 확인에는 여전히 사용할 수 있습니다. 보안이 중요한 경우 SHA-256 이상을 선택하세요.

해시 값으로 원본 데이터를 복원할 수 있나요?

불가능합니다. 해시 함수는 단방향(One-way) 함수이므로 해시 값에서 원본 입력을 역산하는 것은 수학적으로 실행 불가능합니다. 이것이 암호화(양방향)와 해시(단방향)의 ��장 큰 차이점입니다.

입력한 데이터가 서버로 전송되나요?

아니요, 모든 해시 연산이 브라우저 안에서 처리됩니다. SHA 계열은 브라우저 내장 기능으로, MD5는 이 도구에 담긴 자체 계산으로, SHA-224·SHA3-512·RIPEMD-160은 함께 내려받는 WebAssembly 모듈로 계산합니다. 텍스트나 파일 데이터가 외부 서버로 전송되지 않으므로 민감한 정보도 안전하게 해싱할 수 있습니다.

같은 파일인데 해시 값이 다르게 나옵니다. 왜 그런가요?

파일 이름이나 메타데이터가 달라도 파일 내용(바이트)이 완전히 동일하면 해시 값은 반드시 같습니다. 값이 다르다면 파일 내용이 1바이트라도 차이가 있는 것이며, 이는 전송 중 손상이나 버전 차이가 원인일 수 있습니다.

비밀번호를 SHA-256으로 해싱해서 저장해도 되나요?

SHA-256은 범용 해시로는 안전하지만, 비밀번호 저장에는 부적��합니다. SHA-256은 매우 빠르게 설계되어 공격자가 GPU로 초당 수십억 개의 해시를 시도할 수 있기 때문입니다. 비밀번호 저장에는 의도적으로 느린 Bcrypt, Argon2 같은 전용 알고리즘을 사용하세요.

마지막 업데이트: