Miklix

CRC-32C 해시 코드 계산기

게시됨: 2025년 2월 17일 오후 6시 44분 53초 UTC
마지막으로 업데이트되었습니다: 2026년 1월 12일 오전 11시 37분 25초 UTC

텍스트 입력 또는 파일 업로드를 기반으로 CRC-32C(32비트 순환 중복 검사, C 변형) 해시 함수를 사용하여 해시 코드를 계산하는 해시 코드 계산기입니다.

이 페이지는 가능한 한 많은 사람이 이용할 수 있도록 영어에서 기계 번역되었습니다. 안타깝게도 기계 번역은 아직 완성된 기술이 아니므로 오류가 발생할 수 있습니다. 원하시는 경우 여기에서 영어 원문을 보실 수 있습니다:

CRC-32C Hash Code Calculator

순환 중복 검사(CRC)는 원시 데이터의 우발적인 변경을 감지하는 데 일반적으로 사용되는 오류 검출 코드입니다. 엄밀히 말하면 암호화 해시 함수는 아니지만, CRC-32는 가변 길이 입력에서 고정 크기(32비트)의 출력을 생성할 수 있기 때문에 종종 해시 함수로 불립니다. 이 페이지에서 소개하는 버전은 CRC-32C 변형으로, 최신 CPU에서 하드웨어 가속(SSE 4.2를 통해)을 지원하는 "더 스마트한"(더 나은 오류 검출) 버전입니다.

전체 공개: 이 페이지에서 사용된 해시 함수의 구체적인 구현은 제가 직접 작성하지 않았습니다. PHP 프로그래밍 언어에 포함된 표준 함수입니다. 편의를 위해 웹 인터페이스만 공개하여 여기에서 사용할 수 있도록 만들었습니다.


새 해시 코드 계산

이 양식을 통해 제출된 데이터 또는 업로드된 파일은 요청된 해시 코드를 생성하는 데 걸리는 기간 동안만 서버에 보관됩니다. 결과가 브라우저로 반환되기 전에 즉시 삭제됩니다.

데이터를 입력합니다:



제출된 텍스트는 UTF-8로 인코딩됩니다. 해시 함수는 이진 데이터에서 작동하므로 텍스트가 다른 인코딩으로 되어 있을 때와 결과가 달라집니다. 특정 인코딩으로 된 텍스트의 해시를 계산해야 하는 경우 대신 파일을 업로드해야 합니다.



CRC-32C 해시 알고리즘에 대하여

저는 수학자는 아니지만, 간단한 비유를 통해 이 해시 함수를 설명해 보겠습니다. 다른 암호화 해시 함수들과는 달리, 이 알고리즘은 그다지 복잡하지 않으니 아마 이해하실 수 있을 겁니다 ;-)

우편으로 편지를 보내는데, 수신자에게 도착하기 전에 손상될까 봐 걱정된다고 상상해 보세요. 편지 내용을 바탕으로 CRC-32 체크섬을 계산해서 봉투에 적어둡니다. 수신자가 편지를 받으면, 본인도 체크섬을 계산해서 봉투에 적어둔 내용과 일치하는지 확인할 수 있습니다. 일치한다면, 편지는 배송 중에 손상되거나 변조되지 않은 것입니다.

CRC-32는 다음 네 단계 과정을 통해 이를 수행합니다.

1단계: 여유 공간(패딩) 추가

  • CRC는 메시지 끝부분에 약간의 여유 공간을 추가합니다(상자 안의 스티로폼 완충재처럼).
  • 이렇게 하면 오류를 더 쉽게 발견할 수 있습니다.

2단계: 마법의 자(다항식)

  • CRC-32는 특수한 "마법의 자"를 사용하여 데이터를 측정합니다. 이 자는 마치 요철과 홈으로 이루어진 패턴과 같습니다(이것이 다항식이지만, 이 용어는 신경 쓰지 않아도 됩니다). CRC-32에 가장 일반적으로 사용되는 "자"는 고정된 패턴입니다.

3단계: 자를 움직여 나누기

  • 이제 CRC는 자를 메시지 위로 움직입니다. 각 지점에서 자는 돌기와 홈이 일치하는지 확인합니다. 일치하지 않으면 CRC는 이를 기록합니다(이는 스위치를 켜거나 끄는 것과 같은 간단한 XOR 연산을 통해 이루어집니다). 자는 끝까지 도달할 때까지 계속해서 움직이고 스위치를 조작합니다.

4단계: 최종 결과 (체크섬)

  • 메시지 전체에 걸쳐 자를 움직이면 원래 데이터를 나타내는 작은 숫자(32비트 길이)가 남습니다. 이 숫자는 메시지의 고유한 지문과 같습니다. 이것이 CRC-32 체크섬입니다.

이 페이지에 제시된 버전은 CRC-32C 변형이며, 특히 하드웨어 가속(SSE 4.2 이상)을 지원하는 CPU를 사용하고 다른 변형과의 호환성이 필요하지 않은 경우 이 버전을 사용하는 것이 좋습니다.

다른 변형에 대한 계산기도 있습니다.

  • 링크
  • 링크

추가 자료

이 글이 마음에 드셨다면 다음 제안도 마음에 드실 겁니다.


블루스카이에서 공유하기페이스북에서 공유하기LinkedIn에서 공유하기Tumblr에 공유하기X에서 공유LinkedIn에서 공유하기Pinterest에 고정

미켈 크리스텐슨

저자 소개

미켈 크리스텐슨
남자 이름은 miklix.com의 창시자이자 소유자입니다. 전문 컴퓨터 프로그래머/소프트웨어 개발자로 20년 이상 경력을 쌓았으며 현재 유럽의 대형 IT 기업에서 정규직으로 근무하고 있습니다. 블로그를 운영하지 않을 때는 여가 시간을 다양한 관심사, 취미, 활동으로 보내며 이 웹사이트에서 다루는 다양한 주제에 어느 정도 반영되어 있습니다.