Miklix

CRC-32 해시 코드 계산기

게시됨: 2025년 2월 17일 오후 6시 11분 43초 UTC

CRC-32 (Cyclic Redundancy Check 32 bit) 해시 함수를 사용하여 텍스트 입력이나 파일 업로드를 기반으로 해시 코드를 계산하는 해시 코드 계산기입니다.

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

CRC-32 Hash Code Calculator

순환 중복 검사(CRC)는 원시 데이터의 우발적 변경을 감지하는 데 일반적으로 사용되는 오류 감지 코드입니다. 기술적으로 암호화 해시 함수는 아니지만 CRC-32는 가변 길이 입력에서 고정 크기 출력(32비트)을 생성할 수 있는 기능 때문에 종종 해시라고 합니다.

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


새 해시 코드 계산

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

데이터를 입력합니다:



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



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

저는 수학자는 아니지만, 이 해시 함수를 간단한 비유로 설명하려고 노력할 겁니다. 많은 암호화 해시 함수와 달리, 특별히 복잡한 알고리즘은 아니므로 아마 괜찮을 겁니다 ;-)

우편으로 편지를 보내고 있다고 상상해 보세요. 하지만 수신자에게 도착하기 전에 손상될까 봐 걱정됩니다. 편지의 내용을 기반으로 CRC-32 체크섬을 계산하여 봉투에 적습니다. 수신자가 편지를 받으면 체크섬을 계산하여 작성한 내용과 일치하는지 확인할 수 있습니다. 일치하면 편지가 손상되거나 도중에 변경되지 않았습니다.

CRC-32가 이를 수행하는 방식은 4단계 프로세스입니다.

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

  • CRC는 메시지의 끝부분에 약간의 여유 공간을 추가합니다(땅콩을 상자에 포장하는 것과 같습니다).
  • 이를 통해 오류를 더 쉽게 발견할 수 있습니다.

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

  • CRC-32는 특수한 "매직 룰러"를 사용하여 데이터를 측정합니다.
    • 이 자를 울퉁불퉁한 면과 홈의 패턴처럼 생각해 보세요(이것이 다항식이지만, 그 단어에 대해 걱정하지 마세요).
    • CRC-32에서 가장 흔한 "눈금자"는 고정된 패턴입니다.

3단계: 눈금자 밀기(나누기 과정)

  • 이제 CRC가 메시지 위로 자를 움직입니다.
    • 각 지점에서 융기와 홈이 일치하는지 확인합니다.
    • 일치하지 않으면 CRC가 메모를 작성합니다(이것은 스위치를 켜거나 끄는 것처럼 간단한 XOR을 사용하여 수행됩니다).
    • 끝에 도달할 때까지 계속 스위치를 밀고 뒤집습니다.

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

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

이 페이지에 제시된 버전은 원래의 CRC-32 함수로, 다른 시스템과의 최적의 호환성을 위해 사용해야 하는 함수입니다.

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

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

미켈 방 크리스텐슨

저자 소개

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