광고 영역 (상단 디스플레이)

CRC32 체크섬 생성기

텍스트나 문자열을 넣으면 CRC32 순환중복검사 값을 16진수·10진수로 계산해 파일 무결성 비교에 쓸 수 있습니다.

CRC32 계산 결과

광고 영역 (결과 하단)

CRC32 체크섬 생성기 완벽 가이드

CRC32(Cyclic Redundancy Check 32-bit, 32비트 순환중복검사)는 데이터의 무결성을 빠르게 검증하기 위해 널리 쓰이는 체크섬 알고리즘입니다. ZIP 압축 파일, PNG 이미지, 이더넷 프레임, 시리얼 통신 프로토콜 등 다양한 표준에서 전송 중 데이터가 손상되지 않았는지 확인하는 용도로 사용됩니다. MD5나 SHA-256 같은 암호학적 해시와 달리 CRC32는 보안 목적이 아니라 우연한 오류(비트 손상, 전송 오류)를 빠르게 검출하기 위해 설계되었기 때문에 계산 속도가 매우 빠르고 구현이 단순합니다.

이 도구는 입력한 텍스트를 UTF-8 바이트열로 변환한 뒤, 다항식 0xEDB88320을 사용하는 표준 CRC-32/ISO-HDLC 방식으로 256개 항목의 룩업 테이블을 브라우저에서 직접 생성하고, 바이트마다 XOR·시프트 연산을 반복해 체크섬을 누적합니다. 마지막에 비트를 반전(1의 보수)하여 최종 CRC32 값을 얻습니다. 계산 전 과정이 순수 자바스크립트 비트 연산으로 구현되어 있어 외부 라이브러리 없이도 표준 CRC32(ZIP, PNG, gzip 등에서 쓰이는 방식)와 동일한 결과가 나옵니다.

결과는 16진수(대문자, 8자리)와 10진수(부호 없는 32비트 정수) 두 가지 형태로 함께 표시되며, 계산에 사용된 UTF-8 바이트 길이도 함께 확인할 수 있습니다. 두 파일이나 두 텍스트가 동일한지 빠르게 대조하고 싶을 때, 다운로드한 데이터의 손상 여부를 간단히 점검하고 싶을 때, 또는 개발 중 캐시 무효화 키나 짧은 데이터 지문(fingerprint)이 필요할 때 유용하게 활용할 수 있습니다. 단, CRC32는 의도적인 위변조에는 취약하므로 보안이 필요한 무결성 검증(비밀번호 저장, 전자서명 등)에는 SHA-256과 같은 암호학적 해시 함수를 사용해야 합니다.

자주 묻는 질문 (FAQ)

Q. CRC32와 MD5, SHA-256의 차이는 무엇인가요?

A. CRC32는 32비트(약 42억 가지) 값만 가지는 짧은 체크섬으로 우연한 전송 오류를 빠르게 검출하는 데 최적화되어 있습니다. MD5(128비트)와 SHA-256(256비트)은 암호학적 해시 함수로 값의 공간이 훨씬 넓고 의도적인 위변조를 방지하는 데 사용됩니다. 보안이 중요한 곳에는 CRC32 대신 SHA-256을 사용하세요.

Q. 같은 텍스트인데 ZIP 프로그램에서 본 CRC32 값과 다르게 나옵니다.

A. 파일의 CRC32는 파일의 실제 바이트(인코딩, 줄바꿈 문자 CRLF/LF, BOM 유무 등)를 기준으로 계산됩니다. 이 도구는 브라우저에서 UTF-8로 인코딩한 텍스트 바이트를 기준으로 계산하므로, 원본 파일의 인코딩이나 줄바꿈 방식이 다르면 값이 달라질 수 있습니다. 파일 자체를 비교할 때는 동일한 인코딩·줄바꿈 조건을 맞춰야 합니다.

Q. 10진수 값이 음수로 나오지 않는 이유는 무엇인가요?

A. 이 도구는 최종 CRC32 결과를 부호 없는(unsigned) 32비트 정수로 정규화하여 표시하므로 항상 0부터 4,294,967,295 사이의 양수로 출력됩니다. 일부 언어에서는 부호 있는 32비트 정수로 다루어 음수가 나올 수 있으니 다른 도구와 비교할 때 참고하세요.