해시 생성기
텍스트든 파일이든 네 가지를 한 번에. 업로드하지 않습니다.
- MD5
- SHA-1
- SHA-256
- SHA-512
사용 방법
- 텍스트를 입력하거나 파일을 고르면 네 가지 해시가 같이 나옵니다.
- 배포처에 적힌 체크섬을 비교 칸에 붙여넣으면 일치 여부를 알려 줍니다.
- "복사"는 해시 하나를 클립보드에 담습니다.
예시
받은 파일 확인
배포 페이지에 SHA-256이 같이 적혀 있습니다. 받은 파일을 고르고 그 값을 붙여넣으면 64자를 눈으로 대조하지 않아도 일치인지 알려 줍니다.
다들 쓰는 검증값
"abc"의 SHA-256은 ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad입니다. 다른 값이 나오는 라이브러리라면 생각한 그 입력을 해시하고 있지 않은 겁니다.
두 파일이 같은지 보기
양쪽을 해시해서 문자열을 비교하면 됩니다. 해시가 같으면 바이트가 같다는 뜻이라, 크기와 날짜가 같다는 것보다 확실합니다.
해시가 아니라 인코딩이 필요하면
퍼센트 인코딩이나 Base64는 되돌릴 수 있고 해시는 안 됩니다. 원문이 다시 필요하면 다른 도구입니다. URL 인코딩·디코딩
자주 묻는 질문
파일이 업로드되나요?
아니요. 파일은 페이지 안에서 읽고 거기서 해시합니다. 서버로 보내지 않습니다. 500MB를 넘는 파일을 거부하는 것도 같은 이유입니다. 전부 메모리에 올려야 하기 때문입니다.
MD5랑 SHA-1을 써도 되나요?
파일이 온전히 받아졌는지 확인하는 용도라면 괜찮고, 지금도 그렇게 공개됩니다. 다만 누군가 일부러 같은 해시의 다른 파일을 만들 수 있는 상황이라면 SHA-256을 쓰세요. MD5와 SHA-1은 충돌 공격이 뚫려 있습니다.
비밀번호를 해시해서 저장해도 되나요?
안 됩니다. 비밀번호에는 솔트를 쓰는 느린 알고리즘이 필요합니다. bcrypt, scrypt, Argon2 같은 것들입니다. 비밀번호의 SHA-256은 초당 수십억 번 속도로 뚫립니다.
같은 글인데 다른 도구와 해시가 다릅니다
거의 항상 알고리즘이 아니라 글이 다릅니다. 끝에 붙은 줄바꿈, 윈도우 줄바꿈(CRLF), 다른 인코딩이 원인입니다. 이 페이지는 입력칸에 있는 글자를 UTF-8 그대로 해시합니다.
해시를 되돌릴 수 있나요?
계산으로는 못 합니다. 다만 짧거나 흔한 입력은 미리 만들어 둔 표에서 찾을 수 있습니다. 이메일 주소를 해시하는 게 익명화가 아닌 이유입니다.
계산은 어디서 하나요?
SHA-1·SHA-256·SHA-512는 브라우저의 SubtleCrypto를 씁니다. MD5는 SubtleCrypto에 없어서 직접 구현했고 RFC 1321 검증값으로 테스트합니다.