해시 생성기
사용자 기기에서 계산되는 실제 다이제스트: MD5, SHA-1, SHA-256, SHA-384, SHA-512, HMAC-SHA-256. 입력한 텍스트든 드롭한 파일이든 처리합니다. 이 도구는 AI 채팅이 가장 못하는 일을 위한 도구입니다. 챗봇에게 해시를 부탁하면 완벽해 보이지만 아무것과도 일치하지 않는 문자열을 지어냅니다. 계산하는 것이 아니라 텍스트를 예측하기 때문입니다. 여기서는 알고리즘이 실제로 실행되고, 파일은 절대 업로드되지 않으며, 답은 추측이 아닌 다이제스트 그 자체입니다.
- MD5
- —
- SHA-1
- —
- SHA-256
- —
- SHA-384
- —
- SHA-512
- —
- HMAC-SHA-256
- 키를 입력하면 위 텍스트나 파일의 HMAC를 계산합니다.
계산한 해시와 지어낸 해시가 똑같아 보이는 이유
해시는 특이한 성질을 가진 지문입니다. 입력의 한 비트를 바꾸면 출력 비트의 절반가량이 뒤집힙니다. 해시 공간에는 "근접"이란 것이 없고, 텍스트 예측기가 기댈 패턴도 없습니다. 알고리즘을 실제로 실행해 보지 않은 모델에게 SHA-256의 16진수 64자는 무작위와 구별할 수 없습니다. 그래서 챗봇은 할 수 있는 유일한 일을 합니다. 무작위해 보이는 16진수 64자를, 완벽한 형식으로, 그러나 완전히 틀리게 만들어 냅니다. 문자열 어디에도 가짜 같은 구석이 없기 때문에, 그런 창작물이 담긴 릴리스 노트, 검증 안내, 사고 보고서가 실제로 나돌았습니다. 방어는 지루하지만 완전합니다. 작업 과정을 보여 줄 수 없는 출처의 다이제스트는 절대 받아들이지 마세요. 이 페이지는 구조 자체로 과정을 보여 줍니다. MD5는 RFC 1321을 따라 공개적으로 구현되어 있습니다(WebCrypto는 MD5를 의도적으로 빠뜨리므로, MD5를 제공하는 페이지는 직접 구현했거나 속이고 있는 것입니다). SHA 계열은 브라우저 자체의 WebCrypto로 실행되고, 드롭한 파일은 로컬 File API로 읽어 그 자리에서 해시합니다. 아무것도 업로드되지 않는데, 사람들이 해시하는 파일이 바로 NDA 아래의 펌웨어 이미지, 데이터베이스 덤프, 운영 호스트의 정확한 바이너리처럼 민감한 경우가 많기 때문에 중요합니다.
이웃한 두 도구가 세트를 완성합니다. 손에 해시가 있고 "이걸 무엇이 만들었나?"가 궁금하다면, 해시 식별기가 길이, 문자 집합, 접두사를 읽어 후보를 제시합니다. 모양만으로는 구분할 수 없는 것까지 정직하게요. 또 다른 고전적인 혼동은 가역과 일방향의 차이인데, 글 Base64는 암호화가 아닙니다는 인코딩(가역, 키 없음), 암호화(가역, 키 있음), 해싱(일방향, 키 없음) — 혼동이 침해 보고서를 가득 채우는 세 가지 개념을 구분합니다. 파일 대신 운영 중인 서버의 인증서를 확인하려면 SSL 검사기와 SSL 등급기가 같은 일의 네트워크 쪽을 담당합니다.
자주 묻는 질문
AI 챗봇이 이걸 그냥 해시해 줄 수 있지 않나요?
해시와 똑같아 보이는 문자열은 건네줄 수 있습니다. SHA-256이라면 자신감 넘치는 16진수 64자요. 하지만 그 문자열은 지어낸 것입니다. 언어 모델은 다이제스트를 계산하지 않습니다. 텍스트를 예측할 뿐이며, 해시는 "그럴듯함"과 "올바름"이 아무것도 공유하지 않는 바로 그 종류의 텍스트입니다. 읽을 수 없는 파일을 해시할 수도 없습니다. 이 페이지는 사용자의 운영체제가 쓰는 것과 같은 알고리즘으로, 사용자 자신의 기기에서 실제 다이제스트를 계산합니다. 그리고 입력이 파일이면 파일은 브라우저를 떠나지 않습니다. 대표 글 챗봇에게 비밀을 맡기지 마세요에서 세 가지 실패 양상을 모두 살펴봅니다.
MD5는 깨졌는데 왜 여기 있나요?
세상이 여전히 MD5 체크섬을 게시하기 때문입니다. 공급업체 다운로드 페이지, 레거시 시스템, 오래된 데이터베이스 덤프, 10년치 포럼 게시물이 MD5를 지문으로 사용하며, 다운로드를 게시된 MD5와 대조하려면 실제 MD5를 만들어야 합니다. WebCrypto는 이를 거부하므로 이 페이지의 구현은 RFC 1321로 작성되었고 RFC 자체의 테스트 벡터로 고정되어 있습니다. 충돌 저항성이 깨졌다는 것은 보안 결정에 쓸 수 없다는 뜻이지, 설치 기반이 사라지는 것은 아닙니다. 레거시 지문을 검증하는 데만 쓰고, 새로운 것을 보호하는 데는 절대 쓰지 마세요.
HMAC란 무엇이고 왜 키가 필요한가요?
일반 해시는 메시지가 다이제스트와 일치함을 증명합니다. 그러나 누가 만들었는지는 증명하지 못합니다. 누구나 무엇이든 해시할 수 있으니까요. HMAC는 비밀 키를 구조에 섞어, 다이제스트가 발신자까지 인증하게 합니다. 웹훅과 서명된 API 요청이 자신을 증명하는 방식이 바로 이것입니다. 여기에 같은 텍스트와 키를 입력하면 코드가 생성해야 할 값이 로컬에서 계산되어 나옵니다. 운영 웹훅 비밀값을 디버깅한다고 채팅이나 낯선 사람의 서버에 붙여 넣을 필요가 결코 없습니다.
비밀번호를 이것들로 해시해도 되나요?
안 됩니다. 이것들은 빠른 범용 다이제스트이며, "빠름"은 비밀번호 해시가 절대 가져서는 안 되는 특성입니다. GPU를 가진 공격자는 초당 수십억 번을 시도합니다. 비밀번호는 의도적으로 느리고 솔트가 적용되는 bcrypt, scrypt, Argon2의 영역입니다. 해시가 있어 무엇이 만들었는지 알고 싶다면 해시 식별기가 그 모양을 읽어 주고, 새 비밀번호가 필요하다면 비밀번호 생성기가 로컬에서 만들어 줍니다.
16진수 대문자와 소문자, 차이가 있나요?
다이제스트 자체에는 없습니다. 16진수는 표기법이고 A-F와 a-f는 타이포그래피의 문제입니다. 비교에는 차이가 있습니다. 바이트 단위 문자열 비교는 같은 해시를 다르다고 판정하니까요. 이 토글은 모든 출력을 한 번에 다시 써서 비교 대상 체크섬의 형식에 맞출 수 있게 합니다. 대부분의 Unix 도구는 소문자로, 일부 Windows 도구는 대문자로 출력합니다.