해시 생성기 (SHA)

텍스트의 SHA-1, SHA-256, SHA-384, SHA-512 해시값을 생성합니다. 무결성 검증·체크섬 용도.

SHA-1160비트 · 충돌 발견됨, 보안용 비권장
SHA-256256비트 · 가장 널리 쓰이는 표준
SHA-384384비트
SHA-512512비트

ℹ️ 이 도구는 키 없는 단순 해시(다이제스트)를 만듭니다. 비밀키로 메시지를 인증하는 HMAC 과는 다릅니다 — 같은 입력이면 누구나 같은 값을 만들 수 있으므로 위·변조 방지에는 HMAC 생성기를 쓰세요. 비밀번호 저장에도 적합하지 않습니다(bcrypt·argon2 사용).

해시 생성기 (SHA)란?

텍스트나 파일의 SHA 해시값을 빠르고 안전하게 생성합니다. 이 도구는 SHA-1, SHA-256, SHA-384, SHA-512 해시를 동시에 계산하여 보여줍니다. 소프트웨어 다운로드 후 파일 무결성 검사를 위해 체크섬(Checksum)을 확인하거나, 데이터가 변경되지 않았음을 증명하는 고유한 디지털 지문(fingerprint)을 만들 때 유용합니다. 배포처가 제공한 체크섬을 '기대 해시' 칸에 붙여넣으면, 생성된 4가지 해시 중 일치하는 값을 자동으로 찾아주는 편리한 비교 기능도 갖추고 있습니다. 입력한 텍스트나 파일은 서버로 전송되지 않으며, 모든 계산은 사용자 브라우저 안에서만 안전하게 처리되므로 민감한 정보도 안심하고 사용할 수 있습니다. 설치나 회원가입 없이 바로 이용하세요.

사용 방법

  1. 상단의 '📝 텍스트' 또는 '📁 파일' 버튼을 눌러 입력 방식을 선택합니다.
  2. 텍스트를 선택한 경우, 입력창에 해시로 변환할 내용을 붙여넣거나 직접 입력합니다. 입력과 동시에 4가지 SHA 해시 결과가 나타납니다.
  3. 파일을 선택한 경우, 점선 영역으로 파일을 끌어다 놓거나 클릭해서 선택합니다. 파일 내용의 해시(체크섬)가 자동으로 계산됩니다.
  4. 파일 무결성 검증 시, 배포처가 공개한 체크섬을 '기대 해시' 입력칸에 붙여넣으세요. 일치하는 해시가 있으면 '✓ 일치' 표시가 나타납니다.
  5. 결과값 우측의 '복사' 버튼을 눌러 필요한 해시값을 가져갈 수 있으며, '소문자'/'대문자' 버튼으로 결과의 형식을 변경할 수 있습니다.

해시 생성기 (SHA) 사용 가이드

실제 작업에서 이 도구를 어떻게 쓰는지, 무엇을 조심해야 하는지 정리했습니다.

해시 · 암호화 · 인코딩 — 셋을 구분하는 것부터

세 가지가 자주 뒤섞여 쓰이지만 목적이 전혀 다릅니다. 헷갈릴 때는 "되돌릴 수 있는가"와 "열쇠가 필요한가" 두 가지만 물어보면 정리됩니다.

되돌리기열쇠쓰는 목적
인코딩누구나 가능없음표기 방식 바꾸기Base64, URL 인코딩
암호화열쇠 있으면 가능있음내용 감추기AES, RSA
해시불가능(설계상)없음지문 만들기·비교SHA-256
해시는 원문을 되돌릴 수 없으므로 "해시로 저장했다가 나중에 보여준다" 같은 요구가 있다면 그건 해시가 아니라 암호화로 풀 문제입니다. 반대로 비교만 하면 되는 값(비밀번호 일치 여부, 파일 동일 여부)은 해시가 맞습니다.

비밀번호를 SHA-256으로 저장하면 안 되는 이유

"되돌릴 수 없으니 안전하지 않나"라는 논리가 여기서 깨집니다. 공격자는 되돌릴 필요가 없습니다. 흔한 비밀번호를 미리 해시해 표로 만들어 두고(레인보우 테이블) 훔친 해시와 대조하기만 하면 됩니다. 이 도구에 password1 이나 qwerty123 을 넣어 나온 SHA-256 값을 그대로 검색해 보면 원문이 바로 나오는 사이트가 널려 있습니다.

문제를 키우는 것이 속도입니다. SHA 계열은 빠르라고 설계된 함수라 요즘 GPU 한 대로 초당 수십억 개를 계산합니다. 비밀번호 저장에 필요한 성질은 정반대 — 일부러 느려야 합니다.

  • 솔트(salt) — 사용자마다 다른 무작위 값을 섞습니다. 같은 비밀번호를 쓴 두 사람의 해시가 달라지므로 미리 만든 표가 무력화됩니다.
  • 느린 함수 — bcrypt, argon2id, scrypt 는 계산 비용(작업 계수)을 올릴 수 있게 설계됐습니다. 로그인 한 번에 0.1초는 사용자에게 티가 안 나지만, 대량 대입에는 치명적인 비용이 됩니다.
  • 결론 — 비밀번호는 bcrypt 나 argon2id. 이 도구의 결과를 DB에 넣지 마세요.
"SHA-256을 여러 번 돌리면 되지 않나"도 위험한 자작입니다. 반복 횟수·솔트 처리·비교 시 타이밍 공격 대응을 직접 맞추는 것보다 검증된 라이브러리를 쓰는 편이 언제나 낫습니다.

파일 무결성 검증 — 실무에서 이렇게 씁니다

오픈소스나 설치 파일을 받으면 배포처가 SHA-256 체크섬을 함께 공개하는 경우가 많습니다. 받은 파일이 전송 중에 깨지지 않았는지, 중간에 바꿔치기당하지 않았는지 확인하는 용도입니다.

  1. 상단 세그먼트를 "파일"로 바꾸고 드롭존에 받은 파일을 끌어다 놓습니다. 파일은 브라우저 안에서만 읽히므로 어디에도 업로드되지 않습니다.
  2. 배포처 페이지에 적힌 체크섬을 "기대 해시" 칸에 붙여넣습니다.
  3. 어느 알고리즘과 일치하는지 배지로 바로 표시됩니다 — 예: "SHA-256 일치".
  4. 불일치가 나오면 다시 받으세요. 같은 결과가 반복되면 배포처가 값을 갱신하지 않았거나, 파일이 정말 다른 것입니다.
  • 대소문자 토글이 있는 이유 — 배포처마다 표기가 다릅니다. 비교 자체는 대소문자·공백·콜론을 무시하므로 그냥 붙여넣으면 됩니다.
  • "불일치 (SHA-256 길이)"처럼 나오면 값의 형식은 정상이고 내용만 다르다는 뜻입니다.
  • "16진수 해시가 아닙니다"가 나오면 붙여넣기에 파일명이나 다른 글자가 딸려 온 경우가 많습니다.
체크섬이 배포처 웹사이트에만 있고 그 사이트가 이미 뚫렸다면 체크섬도 함께 바뀌어 있을 수 있습니다. 그래서 중요한 배포물은 해시와 별개로 GPG 서명을 제공합니다. 해시는 "깨졌는지"를 잡는 데 확실하고, "속였는지"까지 잡으려면 서명이 필요합니다.

SHA-1은 어디까지 써도 되나

SHA-1 칸에 "충돌 발견됨, 보안용 비권장"이라고 적어 둔 이유가 있습니다. 2017년에 서로 다른 두 PDF가 같은 SHA-1 값을 갖도록 만드는 실증(SHAttered)이 나왔고, 이후 비용은 계속 내려갔습니다. 즉 공격자가 "내용은 다른데 해시는 같은" 파일을 의도적으로 만들 수 있습니다.

그래서 서명·인증서·무결성 검증처럼 상대가 속이려 들 수 있는 곳에는 SHA-1을 쓰면 안 됩니다. 반면 상대가 없는 용도 — 캐시 키, 중복 파일 찾기 같은 단순 식별 — 에서는 여전히 실용적입니다. 이 도구가 SHA-1을 남겨 둔 것은 옛 시스템이 준 값과 대조할 일이 있기 때문입니다.

  • 새로 만드는 것은 SHA-256. 특별한 이유가 없으면 이걸 고르면 됩니다.
  • SHA-384·SHA-512는 더 길 뿐, 실무에서 SHA-256보다 확실히 안전해야 할 이유는 드뭅니다. 64비트 환경에서는 SHA-512가 오히려 빠른 경우도 있습니다.
  • MD5는 이 도구에 없습니다. 브라우저 표준 Web Crypto API가 아예 지원하지 않습니다 — 충돌을 몇 초 만에 만들 수 있어 오래전에 폐기된 알고리즘입니다.

이 도구로 안 되는 것 — HMAC이 필요한 순간

이 도구가 만드는 것은 키 없는 단순 다이제스트입니다. 같은 입력이면 누구나 같은 값을 계산할 수 있다는 뜻이고, 그래서 "이 데이터를 우리가 보냈다"는 증명은 되지 않습니다. 공격자가 데이터를 바꾸고 해시도 다시 계산해 함께 보내면 그만이기 때문입니다.

결제 콜백 검증, 웹훅 서명, API 요청 서명처럼 상대가 값을 위조할 동기가 있는 곳에서는 비밀키를 섞는 HMAC-SHA256을 씁니다. 국내 PG사 연동 문서에 자주 나오는 "해시값 생성" 항목도 대개 상점 키를 함께 넣는 방식이라, 단순 SHA로 계산하면 검증에 실패합니다.

툴즈에는 별도의 HMAC 생성기가 있습니다. 연동 문서에 비밀키·시크릿이 등장한다면 그쪽을 쓰세요.

자주 묻는 질문

제가 입력한 텍스트나 파일은 안전한가요? 서버에 저장되나요?

매우 안전합니다. 이 도구는 모든 해시 계산을 사용자 컴퓨터의 웹 브라우저 내에서만 처리합니다. 입력하신 텍스트나 파일 데이터는 서버로 일절 전송되거나 저장되지 않으므로, 민감한 내용을 안심하고 다룰 수 있습니다.

해시 비교는 어떻게 하나요? SHA-256만 비교할 수 있나요?

아니요, 모든 해시를 동시에 비교합니다. '기대 해시' 칸에 값을 붙여넣으면, 이 도구가 자동으로 해당 값의 길이를 분석하고, 현재 생성된 SHA-1, SHA-256, SHA-384, SHA-512 값과 각각 비교하여 일치하는 항목을 찾아 '✓ 일치'라고 표시해 줍니다. 어떤 종류의 SHA 해시인지 몰라도 편리하게 검증할 수 있습니다.

MD5 해시도 생성할 수 있나요?

아니요, MD5는 지원하지 않습니다. MD5는 심각한 보안 취약점이 발견되어 더 이상 사용이 권장되지 않습니다. 현재 웹 표준인 Web Crypto API에서도 제외되었습니다. 이 도구는 참고용으로 SHA-1을 제공하지만, 보안이 중요하다면 SHA-256 이상을 사용하는 것이 좋습니다.

이 해시로 비밀번호를 암호화해서 저장해도 되나요?

아니요, 절대로 안 됩니다. 이 도구가 생성하는 단순 해시는 레인보우 테이블 공격에 취약하여 비밀번호 저장용으로 부적합합니다. 비밀번호는 반드시 솔트(salt)를 추가하고 bcrypt, scrypt, argon2와 같은 암호화에 특화된 알고리즘을 사용해 안전하게 처리해야 합니다.