해시로 두 텍스트 비교하기

해시할 텍스트를 입력하세요.

두 긴 문자열은 다이제스트가 완전히 같을 때만 동일합니다. 각 텍스트를 같은 알고리즘으로 해시한 다음 두 짧은 값을 비교하세요. 글자 하나, 공백 하나, 줄바꿈 하나만 달라도 결과는 완전히 달라집니다.

두 텍스트가 같은지 확인하는 방법

  1. 1

    첫 번째 텍스트 해시

    첫 번째 텍스트를 붙여넣고 SHA-256을 선택한 채로 생성하세요. 다이제스트를 복사하거나 적어 두세요.

  2. 2

    두 번째 텍스트로 다시 실행

    같은 알고리즘을 사용하여 텍스트를 두 번째 버전으로 바꾸세요.

  3. 3

    다이제스트 비교

    64자가 모두 같으면 두 텍스트는 같은 바이트입니다. 한 글자라도 다르면 텍스트도 다릅니다.

  4. 4

    필요하면 범위 좁히기

    다르다면 각 텍스트의 더 작은 부분을 해시해서 바뀐 단락을 찾으세요.

해시가 믿을 만한 비교 방법인 이유

좋은 해시 함수는 서로 다른 입력을 각각 다르고 예측할 수 없는 다이제스트로 바꿉니다. SHA-256에는 서로 다른 두 텍스트가 같은 다이제스트를 갖도록 만드는 알려진 방법이 없습니다. 따라서 다이제스트가 같으면 실질적으로 같은 내용이라고 봐도 됩니다. 다이제스트는 짧으므로 전체 페이지 대신 64자만 비교하면 됩니다.

실제 예시

텍스트 SHA-256
hello 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
Hello 185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969

두 텍스트는 대문자 한 글자만 다르지만, 다이제스트에는 눈에 보이는 유사성이 없습니다. 그래서 아주 작은 편집도 분명하게 드러납니다.

차이로 간주되는 것

비교는 바이트 단위로 이루어집니다. 다음 항목은 모두 다이제스트를 바꿉니다.

  • 줄 끝의 여분 공백
  • 텍스트 끝의 줄바꿈
  • 화면에서는 같아 보이지만 다른 종류의 따옴표나 대시
  • 같은 모양이지만 다르게 입력된 악센트 문자(글자와 별도의 결합 기호를 쓴 경우와 하나로 합쳐진 문자)

두 텍스트가 같아 보이는데 다이제스트가 다르다면, 보이지 않는 이런 차이가 원인일 가능성이 큽니다. 끝 줄바꿈을 붙이거나 뺀 상태로 해시해 보면 금방 확인할 수 있습니다.

알고리즘 고르기

두 텍스트에는 같은 알고리즘을 사용하세요. SHA-256은 안전한 기본값입니다. MD5와 SHA-1도 일반적인 차이는 잡아낼 수 있지만, 누군가 의도적으로 충돌을 만들 수 있다면 사용하면 안 됩니다. CRC32는 더 짧지만 큰 데이터 집합에서는 약합니다.

이 도구는 해시한 텍스트의 모든 다이제스트를 전체 목록에 보여 주므로, 한 번에 여러 알고리즘을 비교할 수 있다는 점도 참고하세요.

실무 작업 흐름

원본 텍스트의 다이제스트를 메모나 티켓에 보관하세요. 새 버전이 오면 같은 알고리즘으로 해시해서 비교합니다. 설정 조각, 계약 조항, 법률 문구, 템플릿 문장처럼 무엇인가 바뀌지 않았음을 증명해야 하는 경우에 잘 맞습니다. 변경 목록이 아니라 변경되지 않았다는 증거를 얻을 수 있습니다.

다이제스트가 다를 때

내용이 틀렸다고 단정하지 마세요. 먼저 흔한 원인을 확인하세요. 복사한 텍스트에는 끝 공백, 다른 줄바꿈 방식, 웹 페이지나 워드 프로세서에서 들어온 보이지 않는 문자가 있을 수 있습니다. 두 버전을 같은 방식으로 정리한 뒤 해시하세요. 그래도 다르다면 각 텍스트를 단락 단위로 나누어 하나씩 해시하고, 쌍을 비교하면서 바뀐 단락을 찾으세요.

자주 묻는 질문

SHA-256이나 SHA-512라면 실질적인 목적에서는 그렇습니다. MD5, SHA-1, CRC32의 경우 일치는 우발적 오류에 대한 강한 증거이지만, 의도적으로 만든 충돌에 대해서는 충분하지 않습니다.

네. 같은 줄들이라도 순서가 다르면 바이트 순서가 달라지므로 다이제스트도 달라집니다.

아니요. 한 번에 한 텍스트만 해시하며, 다이제스트는 직접 비교해야 합니다. 차이를 강조해 주지는 않습니다.

네. Hello와 hello는 서로 다른 다이제스트를 갖습니다. 대소문자가 중요하지 않다면 먼저 두 텍스트를 같은 방식으로 바꾸세요.

관련 도구

이 도구는 다른 언어로도 제공됩니다

사용 가이드와 활용 사례