해시 생성기
글을 넣거나 파일을 고르면 다섯 가지 해시를 한 번에 계산합니다.
보안용으로는 MD5·SHA-1 대신 SHA-256 이상을 씁니다.
FIPS 180-4·RFC 1321 기준 · 브라우저 안에서만, 업로드 없음 · 업데이트
해시
- MD5 · 보안용 아님
- SHA-1 · 보안용 아님
- SHA-256
- SHA-384
- SHA-512
알고리즘 한눈에
| 알고리즘 | 길이 | hex 글자 | 보안용 |
|---|---|---|---|
| MD5 | 128비트 | 32 | 아니요 |
| SHA-1 | 160비트 | 40 | 아니요 |
| SHA-256 | 256비트 | 64 | 예 |
| SHA-384 | 384비트 | 96 | 예 |
| SHA-512 | 512비트 | 128 | 예 |
결과가 이상한가요?
어떻게 계산했나요
FIPS 180-4·RFC 1321 기준 · 브라우저 안에서만, 업로드 없음
- SHA-1·SHA-256·SHA-384·SHA-512: 브라우저의 Web Crypto(crypto.subtle.digest), 미국 표준 FIPS 180-4
- MD5: Web Crypto 에 없어 RFC 1321 대로 직접 계산합니다. RFC 1321 부록 A.5 시험 값 7개와 블록 경계(55·56·64바이트)로 맞춰 봤습니다
- 글은 UTF-8 바이트로 바꿔(TextEncoder) 넣은 그대로 계산합니다. 파일은 브라우저가 통째로 읽어(File.arrayBuffer) 계산하고, 아주 큰 파일은 기기 메모리에 따라 느리거나 실패할 수 있습니다
- 비교: 16진수는 대소문자·공백·콜론(:)을 무시하고, Base64 는 공백만 무시하고 견줍니다
- MD5(2004년)·SHA-1(2017년)은 실제 충돌이 공개돼 위변조 방지·서명·비밀번호 저장에 쓰지 않습니다
- 넣은 글·파일·해시는 서버·분석 도구·주소창·브라우저 저장소 어디에도 보내거나 남기지 않습니다
자주 묻는 질문
파일이 서버로 올라가나요?
올라가지 않습니다. 파일은 이 기기의 브라우저가 직접 읽어 해시를 계산하고, 내용·이름·해시값을 서버·분석 도구·주소창 어디에도 보내지 않습니다. 인터넷을 끊은 채로도 계산됩니다.
내려받은 파일이 맞는지 어떻게 확인하나요?
배포처가 적어 둔 SHA-256 값을 '비교할 해시' 칸에 붙여 넣고 파일을 고르세요. 어느 알고리즘 값과 같은지 바로 알려 드립니다. 한 글자라도 다르면 파일이 바뀌었거나 덜 받아진 것입니다. 대소문자와 띄어쓰기는 무시하고 견줍니다.
MD5 와 SHA-1 은 왜 보안용이 아닌가요?
같은 해시를 내는 서로 다른 두 파일을 일부러 만드는 방법(충돌 공격)이 알려져 있어서입니다. MD5 는 2004년, SHA-1 은 2017년에 실제 충돌이 공개됐습니다. 파일이 실수로 깨졌는지 보는 데는 여전히 쓸 만하지만, 비밀번호 저장·서명·위변조 방지에는 SHA-256 이상을 쓰세요.
비밀번호를 해시로 저장해도 되나요?
SHA-256 한 번만으로는 부족합니다. 같은 비밀번호는 늘 같은 해시가 되고 계산이 빨라 사전 공격에 약합니다. 비밀번호는 bcrypt·scrypt·Argon2 처럼 일부러 느리고 소금(salt)을 넣는 방식으로 저장해야 합니다.
같은 글인데 다른 사이트와 해시가 다릅니다.
글을 바이트로 바꾸는 방식이나 끝의 줄바꿈 차이 때문인 경우가 많습니다. 이 도구는 UTF-8 로 바꾸고 넣은 그대로(끝 줄바꿈 포함) 계산합니다. 리눅스 echo 는 끝에 줄바꿈을 붙이므로 echo -n 으로 견주세요.