DevToys Web Pro iconDevToys Web Pro블로그
평가하기:
브라우저 확장 프로그램을 사용해 보세요:

체크섬 계산기

  • 모드:
    CRC-8
  • 87 (135)
    CRC-16
  • FA4D (64077)
    CRC-24
  • DF8BCE (14650318)
    CRC-32
  • EC4AC3D0 (3964322768)
    Adler-32
  • 1F9E046A (530449514)
    기술적 세부 정보

    체크섬 계산기가 작동하는 방식

    도구가 하는 일

    체크섬 계산기는 데이터 무결성 검증을 위한 비암호학적 체크섬을 계산하며 CRC-16, CRC-24, CRC-32, Adler-32, Luhn 알고리즘을 지원합니다. 일반 텍스트와 원시 16진수 바이트 입력을 모두 받아 네트워크 프로토콜, 파일 형식, 식별 번호에 대한 체크섬을 검증할 수 있습니다. 결과는 사양 문서와 쉽게 비교할 수 있도록 16진수와 10진수로 표시됩니다.

    개발자들이 흔히 사용하는 사례

    개발자는 네트워크 프로토콜을 디버깅할 때(Ethernet은 CRC-32, PPP는 CRC-16 사용), ZIP과 PNG 같은 아카이브 형식에서 파일 무결성을 검증할 때, 또는 Luhn으로 식별 번호(신용카드, IMEI)를 검증할 때 CRC 계산기를 사용합니다. 임베디드 엔지니어는 펌웨어를 플래시하거나 시리얼 통신 프레임을 테스트하기 전에 CRC 구현이 기대 출력과 일치하는지 확인하는 데 이 도구를 사용합니다.

    데이터 형식, 타입 또는 변형

    CRC-16(CCITT)은 XMODEM, Bluetooth, USB에서 사용되는 16비트 체크섬을 생성합니다. CRC-32(ISO 3720)는 Ethernet, ZIP, PNG에서 사용되는 32비트 값을 생성합니다. Adler-32는 zlib에서 사용되는 CRC-32의 더 빠른 대안입니다. Luhn mod-10은 CRC가 아니라 신용카드 번호, ISIN 코드, IMEI 번호를 검증하는 데 사용되는 체크 디지트 알고리즘입니다. 16진수 입력 모드를 사용하면 프로토콜 수준 검증을 위해 원시 바이트 시퀀스를 입력할 수 있습니다.

    흔한 함정과 엣지 케이스

    CRC 알고리즘에는 다항식과 초기화 방식의 변형이 많습니다. 예를 들어 CRC-16-CCITT는 CRC-16-IBM과 다르므로, 프로토콜이 어떤 변형을 기대하는지 항상 확인하세요. 체크섬은 우발적 손상을 탐지하지만 의도적인 변조에 대해서는 보안성이 전혀 없으므로, 그 목적에는 암호학적 해시를 사용하세요. 16진수 입력 모드를 사용할 때는 바이트를 구분자 없이 입력하거나 일관된 형식을 유지해야 하며, 니블이 하나 더 들어가면 이후 모든 바이트가 밀리게 됩니다.

    코드 대신 이 도구를 사용해야 하는 경우

    프로토콜 프레임을 디버깅할 때 빠르게 부분 확인을 하거나, Luhn으로 단일 신용카드 번호를 검증하거나, CRC 출력이 사양과 일치하는지 비교할 때는 이 브라우저 도구를 사용하세요. 대량 파일 검증, CI 파이프라인, 임베디드 펌웨어 빌드에는 스트림을 처리하고 자동화된 워크플로에 통합할 수 있는 언어 네이티브 CRC 라이브러리(Python의 zlib.crc32, Node의 Buffer 기반 crc 패키지)를 사용하세요.