해시 생성기
텍스트나 파일의 MD5, SHA-1, SHA-256, SHA-384, SHA-512 해시를 한 번에 계산하고 받은 해시값과 비교하세요.
입력한 텍스트와 파일의 계산·변환은 브라우저에서 수행하며, 도구 기능은 입력 원문과 결과를 서버로 전송하지 않습니다. 방문 통계와 광고를 위한 통신은 개인정보처리방침을 확인하세요.
사용법
- 텍스트 탭에 글을 입력하거나 붙여 넣고, 파일은 파일 탭의 상자에 끌어다 놓으세요. 입력하면 바로 해시가 계산됩니다.
- 필요 없는 알고리즘은 체크를 풀어 두세요. 큰 파일일수록 알고리즘이 적을수록 빨리 끝납니다.
- 상대가 쓰는 형식에 맞춰 소문자나 대문자를 고르고, 필요한 해시 옆의 복사를 누르세요.
- 내려받은 파일을 확인하려면 배포처가 알려 준 해시값을 비교 칸에 붙여 넣으세요. 계산한 해시와 일치하는지, 어떤 알고리즘과 맞는지 알려 줍니다.
예시
대표적인 시험 문자열
세 글자 텍스트입니다. 이 값들은 MD5와 SHA 공식 시험 벡터에 실려 있어서 이 도구가 제대로 계산하는지 확인하는 데 쓸 수 있습니다.
- 입력
abc
- 결과
MD5 900150983cd24fb0d6963f7d28e17f72 SHA-1 a9993e364706816aba3e25717850c26c9cd0d89d SHA-256 ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
내려받은 파일 확인하기
파일 탭에 내려받은 파일을 놓고, 다운로드 페이지에 적힌 SHA-256 값을 비교 칸에 붙여 넣어 결과를 보세요. 일치하면 배포자가 해시를 낸 파일과 바이트 단위로 같다는 뜻입니다. 일치하지 않으면 내려받다 끊겼거나 손상됐거나 다른 파일입니다.
자세한 설명
해시 함수는 어떤 입력이든 길이가 고정된 짧은 지문으로 바꿉니다. 같은 입력은 언제나 같은 지문이 나오고, 입력이 조금만 달라져도 지문이 완전히 달라집니다. 그래서 파일이 온전히 도착했는지, 글이 의도치 않게 바뀌지 않았는지 확인하는 데 쓰입니다.
이 페이지는 널리 쓰는 해시 다섯 가지를 계산합니다. MD5와 SHA-1은 지금도 다운로드 옆에 자주 적혀 있지만 둘 다 실제로 충돌을 만들어 낼 수 있어서, 누군가 일부러 파일을 위조할 수 있는 상황에서는 믿으면 안 됩니다. 무결성 확인에는 SHA-2 계열인 SHA-256, SHA-384, SHA-512가 더 알맞습니다. 해시는 암호화가 아닙니다. 해시에서 원문을 되돌릴 수 없고, 비밀번호를 해시 하나로만 보관하는 것도 안전하지 않습니다.
텍스트는 UTF-8 바이트로 바꾼 뒤 해시를 내므로, 같은 글자는 운영체제가 달라도 같은 결과가 나옵니다. 줄바꿈도 글자로 세어집니다. 끝에 줄바꿈이 있는 글과 없는 글은 해시가 다르고, 이것이 터미널에서 echo 명령을 sha256sum에 넘긴 값과 이 도구의 값이 다른 가장 흔한 이유입니다. 파일은 디스크에 저장된 그대로 바이트 단위로 계산합니다.
텍스트와 64MB 이하 파일의 SHA-1, SHA-256, SHA-384, SHA-512는 브라우저에 내장된 Web Crypto로 계산합니다. MD5와 그보다 큰 파일은 내장 구현이 백그라운드 스레드에서 파일을 8MB씩 나눠 읽으며 계산하므로, 수 GB 파일에서도 화면이 멎지 않고 메모리를 적게 씁니다.
자주 묻는 질문
고른 파일이 서버로 올라가나요?
도구는 파일을 브라우저 안에서 읽고, 파일과 계산된 해시를 서버로 보내지 않습니다. 이 페이지에는 광고와 방문 통계 코드도 넣지 않아서, 페이지의 다른 스크립트가 입력한 내용을 읽을 일도 없습니다.
터미널에서 나온 해시와 값이 달라요.
대개 끝의 줄바꿈 때문입니다. echo abc | sha256sum은 abc에 줄바꿈이 붙은 4바이트를 계산하고, 여기에 abc를 입력하면 3바이트를 계산합니다. 비교하려면 printf abc | sha256sum이나 echo -n abc를 쓰세요. 인코딩이 다른 경우도 있는데, 이 도구는 항상 UTF-8로 계산합니다.
MD5를 써도 안전한가요?
다운로드가 끊기거나 깨진 것처럼 우연한 손상을 찾는 데는 MD5로 충분합니다. 일부러 파일을 위조하려는 사람을 막는 데는 안전하지 않습니다. 충돌을 의도적으로 만들 수 있기 때문입니다. 배포처가 SHA-256이나 SHA-512를 함께 제공한다면 그쪽을 쓰세요.
해시에서 원문을 알아낼 수 있나요?
알아낼 수 없습니다. 해시는 일부러 정보를 버립니다. 다만 짧거나 흔한 입력은 후보를 해시해서 비교하는 방법으로 추측할 수 있어서, 그냥 해시만으로는 비밀번호를 보관하기에 알맞지 않습니다.
얼마나 큰 파일까지 되나요?
64MB보다 큰 파일은 조각으로 나눠 읽기 때문에 메모리를 적게 씁니다. 대신 선택한 알고리즘마다 파일 전체를 읽어야 해서 큰 파일은 시간이 더 걸립니다. 필요 없는 알고리즘의 체크를 풀면 빨라집니다.