본문으로 건너뛰기

CRC 계산기

문자열이나 16진수 데이터의 CRC-8, CRC-16, CRC-32 값을 계산합니다

도구를 불러오는 중…

글자, 16진수 바이트, 파일의 CRC를 34가지 CRC-8·CRC-16·CRC-32 알고리즘이나 직접 정한 매개변수로 계산합니다. Modbus 프레임을 확인하거나, 데이터시트의 체크섬과 맞춰 보거나, 장치가 어떤 CRC를 쓰는지 알아낼 때 씁니다.

사용 방법

  1. '글자', '16진수 바이트', '파일' 중 하나를 고르고 데이터를 넣습니다. 글자는 '인코딩'을 고르고, 16진수 바이트는 공백·쉼표·0x로 구분해도 됩니다.
  2. '알고리즘'에서 CRC-16/MODBUS 같은 프리셋을 고릅니다. CRC가 16진수·10진수·2진수로 바로 나타납니다.
  3. '프레임 뒤에 붙일 바이트'에서 CRC 바이트를 어떤 순서로 보내는지 확인합니다.
  4. 모르는 CRC를 찾으려면 기대하는 값을 'CRC 값 찾기'에 입력합니다. 그 값을 내는 프리셋이 모두 표시됩니다.
  5. 목록에 없는 알고리즘은 '매개변수'를 열어 폭, 다항식, 초기값, 반사, 최종 XOR을 정합니다.

계산 방식과 참고

자주 묻는 질문

01 03 00 00 00 0A의 Modbus CRC16은 얼마인가요?
0xCDC5입니다. Modbus RTU는 하위 바이트를 먼저 붙이므로 프레임 끝은 C5 CD가 됩니다.
CRC-16/CCITT-FALSE, XMODEM, KERMIT은 무엇이 다른가요?
셋 다 다항식 0x1021을 씁니다. CCITT-FALSE(IBM-3740)는 초기값 0xFFFF, XMODEM은 0에서 시작하고, KERMIT은 0에서 시작하면서 비트를 반사합니다. 123456789에 대한 값은 각각 0x29B1, 0x31C3, 0x2189입니다.
다른 프로그램과 CRC32 값이 다르게 나와요.
먼저 입력 바이트를 확인하세요. 같은 글자도 UTF-8과 Latin-1에서 바이트가 다릅니다. 그다음 변형을 비교하세요. 표준 CRC-32(ISO-HDLC)는 123456789에 0xCBF43926을 내고, MPEG-2와 BZIP2는 같은 다항식에 다른 설정을 씁니다.
CRC로 위변조를 막을 수 있나요?
아닙니다. CRC는 케이블 잡음 같은 우연한 오류를 찾지만, 누구나 데이터를 바꾼 뒤 다시 계산할 수 있습니다. 위변조 확인에는 SHA-256 같은 암호 해시를 쓰세요.