NodeCrypto 도움말

CRC Generator

카테고리: 해시 & MAC & CRC · 노드 타입 ID: utility-crc

범용 매개변수형 순환 중복 검사 (Rocksoft 모델: 8, 16, 32, 64비트)

개요

Ross Williams의 Rocksoft™ 파라메트릭 CRC 모델(폭 8, 16, 32, 64비트)에 따라 순환 중복 검사(Cyclic Redundancy Check) 체크섬을 계산한다.

표준 산업용 프리셋(CRC-8, CRC-16/CCITT-FALSE, CRC-16/MODBUS, CRC-32, CRC-32C, CRC-64/ECMA-182)뿐 아니라 다항식(Polynomial), 초기값(Init), 입출력 비트 반전(RefIn/RefOut), 최종 XOR(XorOut)을 직접 지정하는 CUSTOM 모드도 지원한다.

사용 시점

파라미터 설정

파라미터 (ID)타입 및 기본값노출 조건설명 및 옵션
CRC 알고리즘 프리셋
preset
select
기본값: CRC-32/ISO-HDLC
항상 노출 표준 CRC 알고리즘 프리셋을 선택하거나 CUSTOM으로 전환해 Rocksoft 파라미터를 직접 지정한다.
  • CRC-32/ISO-HDLC: CRC-32 / ISO-HDLC (Ethernet/PNG/ZIP)
  • CRC-32/CASTAGNOLI: CRC-32C / Castagnoli (iSCSI/Ext4)
  • CRC-16/MODBUS: CRC-16 / MODBUS (산업용)
  • CRC-16/CCITT-FALSE: CRC-16 / CCITT-FALSE
  • CRC-16/XMODEM: CRC-16 / XMODEM
  • CRC-16/USB: CRC-16 / USB
  • CRC-16/ISO-14443-A: CRC-16 / ISO 14443-A (MIFARE/NFC)
  • CRC-8/SMBUS: CRC-8 / SMBUS
  • CRC-8/MAXIM: CRC-8 / MAXIM (Dallas/1-Wire)
  • CRC-64/ECMA: CRC-64 / ECMA-182
  • CRC-64/XZ: CRC-64 / XZ (GO-ISO)
  • custom: 사용자 지정 (Rocksoft 모델 매개변수)
사용자 지정 너비 (비트)
customWidth
select
기본값: 32
항상 노출 이 노드의 사용자 지정 너비 (비트) 설정을 지정한다.
  • 8: 8비트
  • 16: 16비트
  • 32: 32비트
  • 64: 64비트
사용자 지정 다항식 (Hex)
customPoly
hex
기본값: 04C11DB7
변수 참조 지원 ($var: bytes)
항상 노출 다항식 16진수 값 (예: 04C11DB7)
사용자 지정 초깃값 (Hex)
customInit
hex
기본값: FFFFFFFF
변수 참조 지원 ($var: bytes)
항상 노출 초기 16진수 값 (예: FFFFFFFF)
입력 반사 (refIn)
customRefIn
boolean
기본값: true
변수 참조 지원 ($var: bool)
항상 노출 이 노드의 입력 반사 (refIn) 설정을 지정한다.
출력 반사 (refOut)
customRefOut
boolean
기본값: true
변수 참조 지원 ($var: bool)
항상 노출 이 노드의 출력 반사 (refOut) 설정을 지정한다.
사용자 지정 XOR 출력 (Hex)
customXorOut
hex
기본값: FFFFFFFF
변수 참조 지원 ($var: bytes)
항상 노출 최종 XOR 16진수 값 (예: FFFFFFFF)

포트 입출력 명세

포트 연결 규칙, 데이터 타입별 색상, 가변 포트 생성 방식은 포트 및 연결 문서를 참고한다.

입력 포트

포트 성격: 고정 입력 포트 (총 1개).

포트 이름포트 ID데이터 타입필수 여부노출 조건설명
Data data Bytes 필수 항상 노출 체크섬을 계산할 입력 바이트 배열(Uint8Array)이다.

출력 포트

포트 성격: 고정 출력 포트 (총 1개).

포트 이름포트 ID데이터 타입노출 조건설명
Checksum checksum Int 항상 노출 계산된 CRC 체크섬 값.

오류 케이스

실행 중 아래 조건이 발생하면 이 노드는 ERROR 상태가 되며, 출력 포트에 연결된 하위 노드는 실행되지 않는다.

오류 코드기본 엔진 메시지발생 조건
INVALID_CRC_PARAMETER CRC 커스텀 파라미터(Hex)가 올바르지 않는다 preset = CUSTOM일 때 poly, init, xorOut 중 하나가 유효한 16진수 문자열이 아니면 발생한다.

활용 예시

표준 ASCII "123456789"의 CRC-32 검증하기

표준 체크 값 0xCBF43926을 확인한다.

  1. 문자열 123456789를 UTF-8 바이트로 변환해 CRC Generator(프리셋 CRC-32 (IEEE 802.3))의 Data에 연결하면 CRC Hex로 CBF43926이 출력된다.