한국어

해시 생성기 — MD5·SHA-256 해시값 계산, 파일 체크섬

텍스트와 파일의 MD5·SHA 해시를 브라우저에서 계산

브라우저에서 처리 · 서버로 전송되지 않음

파일 해시

파일을 여기로 끌어다 놓거나 선택하세요. 파일은 서버로 전송되지 않습니다.

  • MD5
  • SHA-1
  • SHA-256
  • SHA-384
  • SHA-512

MD5와 SHA-1은 충돌 공격이 알려져 있어 보안 용도로는 쓰지 마세요.

소개

해시 함수는 어떤 데이터든 고정 길이의 지문 같은 값으로 바꿉니다. 같은 입력이면 늘 같은 값이 나오고 한 글자만 달라져도 전혀 다른 값이 나와서, 파일이 바뀌지 않았는지 확인하거나 다운로드한 파일의 체크섬을 비교할 때 씁니다. 이 도구는 다섯 가지 알고리즘의 결과를 한 화면에 보여 줍니다.

사용법

  1. 텍스트 칸에 내용을 입력하면 결과가 바로 계산됩니다.
  2. 파일을 해시하려면 파일 영역에 끌어다 놓거나 파일 선택 버튼을 누릅니다. 텍스트를 다시 입력하면 텍스트 모드로 돌아옵니다.
  3. 출력 형식을 Hex나 Base64로 고르고, Hex는 대문자로 바꿀 수도 있습니다.
  4. 배포처가 알려 준 체크섬과 같은지 보려면 비교할 해시 칸에 붙여 넣으세요. 대소문자는 무시하고, 몇 글자씩 띄어 쓰거나 줄을 바꾼 체크섬은 공백을 빼고 비교합니다. sha256sum 출력처럼 뒤에 파일 이름이 붙어 있거나 sha256: 같은 머리말, BSD 형식(SHA256 (파일) = …)이 있어도 값만 비교해 어느 알고리즘과 일치하는지 알려 줍니다. 결과 옆 복사 버튼으로 값을 가져갈 수도 있습니다.

기준

  • 텍스트는 UTF-8 바이트로 바꾼 뒤 해시합니다. 한글 한 글자는 3바이트, 대부분의 이모지는 4바이트입니다.
  • SHA-1, SHA-256, SHA-384, SHA-512는 브라우저의 WebCrypto(crypto.subtle.digest)로 계산합니다.
  • WebCrypto가 지원하지 않는 MD5는 오픈소스 라이브러리 spark-md5로 계산합니다.
  • Base64 출력은 해시의 원본 바이트를 인코딩한 것이고, 해시 문자열을 다시 인코딩한 것이 아닙니다.
  • MD5와 SHA-1은 호환성과 무결성 확인용으로만 제공합니다. 서명이나 비밀번호 저장에는 SHA-256 이상, 비밀번호는 전용 알고리즘을 쓰세요.

예시

입력 알고리즘 결과
abc MD5 900150983cd24fb0d6963f7d28e17f72
빈 문자열 MD5 d41d8cd98f00b204e9800998ecf8427e
abc SHA-256 ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
안녕하세요 SHA-256 2c68318e352971113645cbc72861e1ec23f48d5baa5f9b405fed9dddca893eb4

이 값들은 표준 시험 벡터이거나 Node.js 암호 모듈로 교차 검증한 값입니다.

활용 팁

  • 소프트웨어를 내려받았다면 배포처가 알려 준 SHA-256 값과 파일 해시를 비교해 변조나 손상이 없는지 확인할 수 있습니다. 한 글자라도 다르면 파일이 다른 것입니다.
  • 공백이나 줄바꿈 하나도 결과를 바꾸므로, 텍스트 해시를 비교할 때는 끝에 줄바꿈이 붙어 있지 않은지 확인하세요.
  • 큰 파일은 계산에 몇 초가 걸릴 수 있습니다. 브라우저 탭을 닫지 말고 기다려 주세요.

자주 묻는 질문

같은 한글인데 다른 사이트와 해시값이 다르게 나와요.

문자를 바이트로 바꾸는 방식이 다르기 때문입니다. 이 도구는 UTF-8 바이트를 해시하며 예를 들어 "안녕하세요"의 MD5는 209bebae3eb7363d9b080a66f9e306ef입니다. 다른 도구가 EUC-KR이나 UTF-16을 쓰면 값이 달라져요.

파일이 서버로 업로드되나요?

아니요. 파일은 브라우저 메모리에서 바로 읽어 계산하고 어디에도 전송하지 않습니다. 메모리에 올려 계산하기 때문에 200MB를 넘는 파일은 지원하지 않아요.

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

권장하지 않습니다. 이 해시들은 빠르게 계산되도록 설계되어 무차별 대입에 약합니다. 비밀번호 저장에는 bcrypt, scrypt, Argon2처럼 의도적으로 느린 알고리즘을 쓰세요.

MD5와 SHA-1을 아직 쓸 수 있나요?

파일이 손상되지 않았는지 확인하는 용도로는 쓸 수 있지만 보안 용도에는 쓰면 안 됩니다. 두 알고리즘 모두 충돌을 일부러 만들어 내는 공격이 알려져 있어요.

필요한 도구가 있나요?