Hash & Crypto Helpers

CRC 계산기바이트와 모델을 정확히 맞추세요

입력 형식과 알고리즘을 선택해 계산하세요. 결과에 사용한 매개변수와 바이트 순서가 함께 표시됩니다.

CRC 계산기

텍스트 또는 바이트

체크섬 결과

계산하면 체크섬이 표시됩니다. 빈 텍스트도 유효합니다.

텍스트와 파일 내용은 브라우저에서 처리됩니다.

설정
너비 (비트)
32
다항식 (16진수)
04C11DB7
초기값 (16진수)
FFFFFFFF
입력 비트 반사
예
출력 비트 반사
예
최종 XOR (16진수)
FFFFFFFF

사용자 지정 CRC는 최고차항을 생략한 정방향 다항식을 사용합니다. Adler-32의 매개변수는 고정입니다.

4자리 또는 8자리 16진수 값을 입력하세요. 앞뒤 공백과 0x는 허용하며 리틀 엔디언 바이트열로 해석하지 않습니다.

문자열은 UTF-16 단위 1,000,000개, 디코딩 결과는 1 MiB까지입니다. 파일 하나는 2 GiB까지 1 MiB 청크로 읽습니다.

계산하면 체크섬이 표시됩니다. 빈 텍스트도 유효합니다.

CRC 계산기는 장치가 보낸 체크값이 테스트 값과 다를 때 원인을 좁히는 데 도움이 됩니다. CRC16이라는 이름만으로는 모델을 알 수 없습니다. 다항식뿐 아니라 초기값, 비트 반사와 최종 XOR도 일치해야 합니다.

수신 패킷에 바로 적용하기 전에 알려진 데이터로 설정을 확인하세요. 화면에 같은 글자가 보여도 인코딩이나 마지막 줄바꿈이 다르면 실제 바이트가 달라집니다.

CRC 계산기로 차이를 확인하세요

체크값 옆에 계산 조건을 보관

CRC 계산기는 결과에 전체 모델과 매개변수를 남깁니다. ARC와 MODBUS는 같은 다항식을 써도 초기 레지스터가 달라집니다. 숫자만 복사했을 때 놓치기 쉬운 차이를 함께 확인할 수 있습니다.

같은 바이트열이 서로 다른 매개변수 모델을 지나 다른 체크값을 만드는 모습.

청크를 이어서 파일 전체를 계산

각 파일 청크가 순서대로 하나의 누적 상태를 갱신합니다. 청크마다 별도 CRC를 구해 합치는 방식이 아니므로 읽기 경계가 달라도 최종 결과는 같습니다. 진행 상황을 확인하고 계산을 취소할 수 있습니다.

연속된 파일 청크가 하나의 누적 상태를 통과해 최종 체크섬을 만드는 모습.

모델, 입력, 바이트 순서 확인

01

프로토콜의 모델 이름을 확인

일반적인 ZIP 방식에는 CRC-32/ISO-HDLC를 선택합니다. CRC-32C와 MPEG-2는 별도 모델입니다. 사용자 지정에서는 정방향 다항식, 초기값, RefIn, RefOut, XorOut을 명세에 맞춰 입력하세요.

02

문자와 바이트를 구분

16진수 모드의 31 32 33은 세 바이트입니다. 텍스트 모드에서는 숫자와 공백 모두 UTF-8로 인코딩합니다. 다른 문자 인코딩이 필요하면 원본 파일이나 그 바이트의 16진수 표현을 사용하세요.

03

표준 값으로 표시 순서를 점검

123456789 예제를 표준 Check와 비교하세요. CRC-16 Modbus의 숫자 4B37을 리틀 엔디언으로 전송하면 37 4B입니다. 예상값에는 4B37을 넣고 변경 후 Ctrl/Cmd+Enter로 다시 계산하세요.

재현 가능한 체크섬 계산

여덟 프리셋과 사용자 지정

CRC32 체크섬 계산기는 ISO-HDLC, Castagnoli/CRC-32C, MPEG-2를 제공합니다. CRC16에는 ARC, MODBUS, IBM-3740, XMODEM이 있습니다. 16비트와 32비트 사용자 지정 모델도 지원합니다.

비트 반사를 각각 설정

RefIn은 입력 바이트 안의 비트를, RefOut은 최종 레지스터 비트를 반사합니다. 결과 바이트를 큰 순서 또는 작은 순서로 나열하는 것과는 다른 작업이므로 독립적으로 조절합니다.

Adler-32 체크섬의 고정 초기값

S1은 1, S2는 0에서 시작하며 두 합에 모듈러스 65521을 적용합니다. 빈 입력의 결과는 00000001입니다. CRC 다항식이나 최종 XOR 설정은 Adler에 적용되지 않습니다.

계산 조건을 담은 보고서

JSON 보고서에 입력 방식, 바이트 수, 모델, 전체 숫자 매개변수, 예상값과 비교 결과를 기록합니다. 16진수, 10진수, 2진수, 두 바이트 순서도 포함하며 원본 내용은 넣지 않습니다.

정확한 입력과 지원 범위

바이트를 자동 수정하지 않음
16진수 입력은 완전한 바이트 쌍과 ASCII 공백만 허용합니다. 0x, 쉼표, 주석과 홀수 자릿수는 거부하며 0을 채우지 않습니다. 프레임 끝의 CRC를 제거하거나 계산값을 덧붙이지도 않습니다.
문자열과 파일의 다른 제한
텍스트와 16진수 원문은 UTF-16 단위 1,000,000개, 디코딩 후 1 MiB까지입니다. 파일은 한 번에 하나, 최대 2 GiB를 1 MiB씩 읽습니다. 빈 입력은 유효하지만 폴더나 목록 일괄 검증은 하지 않습니다.
공백과 줄바꿈을 그대로 처리
텍스트는 UTF-8만 사용하고 BOM 문자, 공백과 줄바꿈을 보존합니다. 짝이 없는 서로게이트는 오류입니다. 파일은 디코딩 없이 원시 바이트로 읽으며 압축을 풀거나 문자 인코딩을 바꾸지 않습니다.
모델을 자동 추정하지 않음
알고리즘 추정, 다항식 역산, CRC8/64, 소스 생성, 보정 바이트 생성은 지원하지 않습니다. 입력이나 옵션을 바꾸면 실행 중인 작업을 중지하고 재계산 전까지 내보내기를 비활성화합니다.
체크값은 인증 수단이 아님
CRC 체크섬과 Adler는 우발적인 손상 검출용입니다. 충돌이나 의도적 변조를 막지 못하며 전송자를 인증하거나 손상된 파일을 복원하지 못합니다. 보안 요구에는 적절한 암호학적 인증이 필요합니다.

CRC 계산기 질문과 답변

CRC-32는 MD5나 SHA-256과 같은 건가요?

아닙니다. CRC는 전송이나 저장 중 우발적 오류를 찾는 방식입니다. MD5와 SHA-256은 암호학적 해시 계열이며 MD5는 현대적인 충돌 저항 용도로 적합하지 않습니다. 단순 해시값만으로 전송자를 인증할 수도 없습니다.

이 도구는 어떤 CRC-32 변형을 사용하나요?

기본값은 CRC-32/ISO-HDLC입니다. 다항식 04C11DB7, 초기값과 XorOut FFFFFFFF, 입력과 출력 반사 사용입니다. CRC 계산기는 CRC-32C와 MPEG-2, 사용자 지정 모델도 제공합니다.

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

CCITT-FALSE의 정확한 모델은 IBM-3740으로 다항식 1021, 초기값 FFFF, 반사 없음입니다. MODBUS는 8005, FFFF, 양쪽 반사 사용입니다. XMODEM은 1021과 초기값 0000으로 CCITT-FALSE와 다릅니다.

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

파일 형식이나 장치 프로토콜의 명세를 따라야 합니다. ZIP 형태에는 보통 ISO-HDLC, Modbus에는 MODBUS가 쓰이지만 비트 수만으로 선택하면 안 됩니다. 명세의 여섯 매개변수와 표준 예제 값을 함께 확인하세요.

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

입력 바이트와 인코딩, 마지막 줄바꿈부터 확인하세요. 그다음 모델의 다항식, 초기값, 반사와 XOR를 비교합니다. 예상 숫자 4B37 대신 리틀 엔디언 전송 바이트 374B를 넣었다면 일치하지 않습니다.

궁금한 점이 남았나요?

CRC 계산기로 돌아가기

CRC 계산기로 알려진 예제를 검증하고 한 번에 하나씩 매개변수를 바꾸세요. 확인한 결과는 보고서로 남길 수 있습니다.