본문 바로가기

CRC 체크섬 계산기

브라우저 처리

텍스트나 16진수 바이트의 CRC-32, CRC-32C, CRC-16(ARC·MODBUS·CCITT-FALSE·XMODEM), CRC-8, Adler-32를 한 번에 계산해 16진수와 10진수로 보여 줍니다.

사용 전 확인
  • 파일·이미지·문서 처리 도구는 브라우저 안에서 처리되더라도 원본에 개인정보나 민감 정보가 포함될 수 있습니다. 공유·제출 전 원본과 결과를 한 번 더 확인하세요.
도구 실행입력 후 결과 확인
CRC 체크섬 계산기 샘플 실행

CRC는 데이터 전송이나 저장 중 비트가 바뀌었는지 확인하는 짧은 검사값입니다. 같은 'CRC-16'이라도 장비와 프로토콜마다 다항식과 초기값이 달라 결과가 다르기 때문에, 이 도구는 자주 쓰이는 8가지 방식을 한꺼번에 계산해 내 장비가 쓰는 값을 찾을 수 있게 합니다.

브라우저 처리
샘플 결과
CRC-32 (ZIP·PNG·gzip·이더넷): CBF43926  = 3421780262
CRC-32C (iSCSI·ext4·SCTP): E3069283  = 3808858755
CRC-16/ARC (LHA·일반 CRC-16): BB3D  = 47933
CRC-16/MODBUS (Modbus RTU): 4B37  = 19255
CRC-16/CCITT-FALSE (IBM-3740·많은 임베디드 장비): 29B1  = 10673
CRC-16/XMODEM (XMODEM·ZMODEM): 31C3  = 12739
CRC-8/SMBUS (SMBus·I2C): F4  = 244
Adler-32 (zlib): 091E01DE  = 152961502

입력: 9바이트 (UTF-8 텍스트)
자바스크립트가 활성화되면 이 영역이 실제 입력, 실행, 결과 패널로 바뀝니다.

CRC 체크섬 계산기 사용 가이드

CRC는 데이터 전송이나 저장 중 비트가 바뀌었는지 확인하는 짧은 검사값입니다. 같은 'CRC-16'이라도 장비와 프로토콜마다 다항식과 초기값이 달라 결과가 다르기 때문에, 이 도구는 자주 쓰이는 8가지 방식을 한꺼번에 계산해 내 장비가 쓰는 값을 찾을 수 있게 합니다.

CRC-32는 ZIP·PNG·gzip, CRC-32C는 iSCSI·ext4, CRC-16/MODBUS는 Modbus RTU, CRC-16/CCITT-FALSE와 XMODEM은 여러 임베디드 통신, CRC-8/SMBUS는 I2C 장치, Adler-32는 zlib에서 씁니다. 결과는 16진수와 10진수로 함께 나옵니다.

기본은 입력한 글자를 UTF-8 바이트로 계산하고, 'hex: 01 03 00 00'처럼 hex:로 시작하면 16진수 바이트 그대로 계산합니다. 각 방식은 표준 검사 문자열 123456789의 공인 검사값과 일치하도록 구현했습니다.

사용 방법

  1. '입력' 칸에 텍스트를 넣거나, 장비 패킷이라면 'hex: 01 03 00 00 00 0A'처럼 16진수 바이트를 적습니다.
  2. '실행'을 누르면 8가지 방식의 검사값이 한 줄씩 나옵니다.
  3. 장비 문서의 이름과 같은 방식의 값을 골라 패킷 끝에 붙이거나 받은 값과 비교합니다.

예시: 표준 검사 문자열 123456789

입력
123456789
결과
CRC-32 (ZIP·PNG·gzip·이더넷): CBF43926  = 3421780262
CRC-32C (iSCSI·ext4·SCTP): E3069283  = 3808858755
CRC-16/ARC (LHA·일반 CRC-16): BB3D  = 47933
CRC-16/MODBUS (Modbus RTU): 4B37  = 19255
CRC-16/CCITT-FALSE (IBM-3740·많은 임베디드 장비): 29B1  = 10673
CRC-16/XMODEM (XMODEM·ZMODEM): 31C3  = 12739
CRC-8/SMBUS (SMBus·I2C): F4  = 244
Adler-32 (zlib): 091E01DE  = 152961502

입력: 9바이트 (UTF-8 텍스트)

모두 CRC 표준 카탈로그의 검사값과 같습니다.

이럴 때 쓰면 좋아요

  • Modbus RTU 패킷의 CRC를 계산해 직접 만든 명령이 맞는지 확인할 때
  • ZIP이나 PNG 안의 CRC-32 값과 데이터가 일치하는지 대조할 때
  • 펌웨어나 임베디드 코드의 CRC 구현 결과를 표준 값과 비교할 때
  • 어떤 CRC 방식인지 모르는 장비 값과 같은 결과를 찾아낼 때

문제가 생겼을 때

Modbus 장비에 보낸 CRC가 틀렸다고 나옴

Modbus RTU는 CRC-16/MODBUS 값을 낮은 바이트부터(리틀 엔디언) 붙입니다. 4B37이라면 37 4B 순서로 보내야 합니다.

'hex: 입력은 두 자리 16진수로 적어야 합니다' 오류

바이트 개수가 홀수이거나 16진수가 아닌 글자가 있습니다. 1을 01처럼 두 자리로 적고 0x 표시는 있어도 됩니다.

활용 팁

  • 텍스트 모드는 한글을 UTF-8(한 글자 3바이트)로 계산합니다. EUC-KR 등 다른 인코딩 기준 값이 필요하면 바이트를 hex:로 직접 넣으세요.
  • 같은 데이터인데 결과가 다르면 줄바꿈(\r\n과 \n)이나 끝 공백이 섞였는지 확인하세요. 한 바이트만 달라도 CRC는 완전히 바뀝니다.

자주 묻는 질문

CRC는 보안용으로 써도 되나요?

아니요. CRC는 우연한 오류 검출용이라 의도적으로 같은 값을 만들기 쉽습니다. 변조 확인에는 SHA-256 같은 암호 해시를 쓰세요.

파일의 CRC-32도 구할 수 있나요?

이 도구는 텍스트와 16진수 입력을 계산합니다. 파일 단위 확인에는 SHA-256을 계산하는 파일 체크섬 비교기를 쓰는 편이 안전합니다.

목록에 없는 CRC 방식은요?

CRC-64나 특수한 CRC-16 변형은 계산하지 않습니다. 장비 문서의 다항식·초기값·반전 설정을 확인해 전용 계산기를 쓰세요.