해시 생성기 — MD5·SHA-256 해시값 계산, 파일 체크섬
텍스트와 파일의 MD5·SHA 해시를 브라우저에서 계산
브라우저에서 처리 · 서버로 전송되지 않음
파일 해시
파일을 여기로 끌어다 놓거나 선택하세요. 파일은 서버로 전송되지 않습니다.
- MD5
- SHA-1
- SHA-256
- SHA-384
- SHA-512
MD5와 SHA-1은 충돌 공격이 알려져 있어 보안 용도로는 쓰지 마세요.
소개
해시 함수는 어떤 데이터든 고정 길이의 지문 같은 값으로 바꿉니다. 같은 입력이면 늘 같은 값이 나오고 한 글자만 달라져도 전혀 다른 값이 나와서, 파일이 바뀌지 않았는지 확인하거나 다운로드한 파일의 체크섬을 비교할 때 씁니다. 이 도구는 다섯 가지 알고리즘의 결과를 한 화면에 보여 줍니다.
사용법
- 텍스트 칸에 내용을 입력하면 결과가 바로 계산됩니다.
- 파일을 해시하려면 파일 영역에 끌어다 놓거나 파일 선택 버튼을 누릅니다. 텍스트를 다시 입력하면 텍스트 모드로 돌아옵니다.
- 출력 형식을 Hex나 Base64로 고르고, Hex는 대문자로 바꿀 수도 있습니다.
- 배포처가 알려 준 체크섬과 같은지 보려면 비교할 해시 칸에 붙여 넣으세요. 대소문자는 무시하고, 몇 글자씩 띄어 쓰거나 줄을 바꾼 체크섬은 공백을 빼고 비교합니다.
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을 아직 쓸 수 있나요?
파일이 손상되지 않았는지 확인하는 용도로는 쓸 수 있지만 보안 용도에는 쓰면 안 됩니다. 두 알고리즘 모두 충돌을 일부러 만들어 내는 공격이 알려져 있어요.