CoderTools

CRC 계산기

텍스트, 16진수 및 파일 입력을 지원하는 다양한 CRC 체크섬 계산

UTF-8 텍스트를 입력하면 바이트로 변환됩니다

CRC 알고리즘 정보

순환 중복 검사(CRC)는 디지털 네트워크 및 저장 장치에서 데이터의 우발적인 변경을 감지하기 위해 널리 사용되는 강력한 오류 감지 코드입니다.

데이터 검색 시 계산을 반복하여 값이 일치하지 않으면 데이터 손상을 감지할 수 있습니다. CRC는 하드웨어 구현이 쉽고 전송 오류 감지에 탁월합니다.

지원되는 CRC 프로필

이 도구는 산업 및 네트워크 프로토콜에서 사용되는 다양한 표준 CRC 알고리즘을 구현합니다.

알고리즘 너비 다항식 용도
CRC-88 bit0x07간단한 데이터 검사, 센서
CRC-16/Modbus16 bit0x8005Modbus 프로토콜, 산업용
CRC-16/CCITT16 bit0x1021X.25, HDLC, 블루투스
CRC-3232 bit0x04C11DB7ZIP, 이더넷, PNG
CRC-32C32 bit0x1EDC6F41iSCSI, SCTP, Btrfs
CRC-64/ECMA64 bit0x42F0E1EBA9EA3693ECMA-182, XZ 압축

일반적인 사용 사례

네트워크 패킷 검증 (이더넷 프레임)
파일 무결성 검증 (ZIP 아카이브)
산업용 통신 프로토콜 (Modbus RTU)
스토리지 시스템 데이터 검증
임베디드 시스템 데이터 전송
펌웨어 및 부트로더 무결성 검사

자주 묻는 질문

CRC란 무엇이며 암호화 해시와 어떻게 다른가요?

CRC(순환 중복 검사)는 데이터 전송이나 저장 중 발생하는 우발적인 비트 오류를 감지하기 위한 체크섬 알고리즘입니다. SHA-256 같은 암호화 해시와 달리, CRC는 의도적인 변조에 저항하도록 설계되지 않았습니다—공격자는 원하는 CRC 값을 생성하는 데이터를 만들 수 있습니다. 통신 프로토콜의 오류 감지에는 CRC를, 보안이 중요한 무결성 검증에는 암호화 해시를 사용하세요.

사용 사례에 맞는 CRC 변종은 무엇인가요?

CRC-32(ISO 3309)는 이더넷, ZIP, PNG 파일에서 널리 사용됩니다. CRC-16/MODBUS는 산업용 프로토콜의 표준입니다. CRC-16/CCITT는 직렬 통신에 적합합니다. CRC-8은 임베디드 시스템의 짧은 메시지에 적합합니다. 프로토콜 사양에서 특정 다항식과 초기값을 정의한 경우, 반드시 정확히 일치시켜야 합니다.

CRC 결과가 예상값과 다른 이유는 무엇인가요?

CRC 결과는 다항식, 초기값, 입출력 반전, XOR 출력의 네 가지 파라미터에 따라 달라집니다. 이 중 하나라도 일치하지 않으면 다른 결과가 나옵니다. 또한 입력이 UTF-8, ASCII 또는 원시 바이트로 인코딩되어 있는지 확인하세요—동일한 텍스트 문자열도 다른 바이트 시퀀스를 생성할 수 있으며, 따라서 CRC 값도 달라질 수 있습니다.

CRC-16/MODBUS와 CRC-16/CCITT의 차이점은 무엇인가요?

두 방식 모두 16비트 CRC를 사용하지만 다항식과 초기값이 다릅니다. CRC-16/MODBUS는 다항식 0x8005, 초기값 0xFFFF를 사용하고 입출력 모두 반전을 적용합니다. CRC-16/CCITT(CRC-CCITT 또는 CRC-16-IBM이라고도 함)는 다항식 0x1021, 초기값 0xFFFF를 사용합니다. 동일한 데이터에 대해 완전히 다른 출력을 생성합니다.

텍스트뿐만 아니라 바이너리 파일의 CRC도 계산할 수 있나요?

예 — 16진수 입력 형식을 사용하여 바이너리 데이터의 헥사 바이트를 붙여넣으세요. 도구는 인쇄 가능한 문자인지 여부와 관계없이 원시 바이트 값을 처리합니다. 매우 큰 바이너리 파일에는 cksum 같은 커맨드라인 도구나 Python의 binascii.crc32()가 더 실용적입니다.

빠른 메뉴

최근 사용 도구 없음