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 기업에서 정규직으로 근무하고 있습니다. 블로그를 운영하지 않을 때는 여가 시간을 다양한 관심사, 취미, 활동으로 보내며 이 웹사이트에서 다루는 다양한 주제에 어느 정도 반영되어 있습니다.