해시 생성기

텍스트를 붙여 넣으면 다섯 가지 다이제스트가 한 번에 나옵니다. 버튼도, 업로드도 없습니다.

사용 방법

  1. 텍스트를 입력하거나 붙여 넣으면 다섯 가지 다이제스트가 한 번에 나타납니다. 누를 버튼은 없습니다.
  2. 각 행의 버튼으로 다이제스트를 복사하거나 다섯 개를 모두 .txt 파일로 내려받으세요. 복사하면 레이블 없이 순수 16진수 문자열이 나옵니다.
  3. 비교 대상 시스템이 다이제스트를 대문자로 출력하면 대문자 16진수를 켜세요. 전환해도 입력한 내용은 지워지지 않습니다.
  4. 모든 처리는 브라우저에서 이루어집니다. 아무것도 업로드, 저장되거나 주소 표시줄에 기록되지 않습니다.

예시

텍스트

hello world

다이제스트

MD5:     5eb63bbbe01eeed093cb22bb8f5acdc3
SHA-1:   2aae6c35c94fcfb415dbe95f408b9ce91ee846ed
SHA-256: b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
SHA-384: fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd
SHA-512: 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f

열한 글자를 열한 UTF-8 바이트로 해시한 값입니다. “你好,世界”는 5글자지만 15바이트입니다. 결과 위의 바이트 수가 실제로 해시된 값입니다.

규칙, 제한 및 알려진 문제

  • MD5와 SHA-1은 취약하므로 보안과 관련된 어떤 용도로도 쓰면 안 됩니다. 충돌을 원할 때 만들 수 있습니다. 여기서는 다른 곳에 게시된 값과 텍스트가 일치하는지 확인하는 비적대적 무결성 검사용입니다.
  • 이 다이제스트를 비밀번호 저장에 쓰지 마세요. 솔트도, 키 유도도, 작업 계수도 없습니다. 비밀번호 저장에는 bcrypt, scrypt, Argon2, PBKDF2가 필요합니다.
  • 텍스트만 지원합니다. 파일은 해시하지 않으므로 다운로드 체크섬이 필요하면 직접 sha256sum이나 shasum을 사용하세요.
  • 입력은 항상 UTF-8 바이트로 인코딩합니다. UTF-16, Hex, Base64 입력 모드나 원시 바이트 해시 기능은 없습니다.
  • 해시 전에 입력을 바꾸지 않습니다. 공백 제거, 유니코드 정규화, 대소문자 접기, 보이지 않는 문자 제거가 없습니다. 다른 시스템과 다이제스트가 맞지 않으면 텍스트가 바이트 단위로 같지 않을 가능성이 큽니다.
  • 유니코드 정규화가 중요합니다. “é”를 한 코드 포인트로 쓴 것과 “e”에 결합 악센트를 붙인 것은 서로 다른 바이트 열이므로 다른 다이제스트가 나옵니다. 이는 올바른 동작이며 조용히 정규화하면 차이를 숨기게 됩니다.
  • 끝 공백과 마지막 줄바꿈도 입력의 일부입니다. `echo "abc" | sha256sum`은 “abc\n”을 해시하므로 여기서 “abc”의 다이제스트와 다릅니다. 비교해야 하는 값이 그렇다면 줄바꿈을 직접 넣으세요.
  • 해시는 대소문자를 구분하고 단방향입니다. “Hello”와 “hello”는 다르며 다이제스트에서 원문을 되돌릴 수 없습니다.
  • 지원하지 않음: HMAC 등 키 기반 다이제스트, SHA-224, SHA-3, RIPEMD, Whirlpool, BLAKE, CRC32, 솔트 KDF, 파일 해시, “예상 다이제스트를 붙여 넣으면 검사해 주기”. 키 기반 HMAC은 JWT 도구를 사용하세요.
  • 최대 10만 자이며 이를 넘으면 잘린 결과 대신 오류가 표시됩니다. 아무것도 업로드, 저장, URL 기록, 공유되지 않으며 공유 버튼은 이 페이지 주소만 공유합니다.

다이제스트는 보통 다음 도구와 함께 쓰입니다.