namespace leak_test_project.Utils
{
///
/// Sentinel C28 전용 CRC-8 계산 유틸리티.
/// 문서 4페이지의 에러 체크 규격(8-Bit CRC in HEX)을 구현함.
///
public static class SentinelCrc8
{
///
/// 입력된 데이터의 8비트 CRC 값을 HEX 문자열로 계산함.
///
/// CRC를 계산할 문자열
/// 2자리의 HEX 문자열 (예: "A5")
public static string CalculateHex(string data)
{
// PDF 4페이지: 8-Bit CRC in HEX. Used for error checking.
// 주의: 제조사에서 제공하는 특정 다항식(Polynomial)이 있는 경우,
// 아래의 간단한 XOR 방식이 아닌 해당 알고리즘으로 교체해야 함.
byte crc = 0;
foreach (char c in data)
{
crc ^= (byte)c; // 현재는 기본 XOR 기반의 간단한 체크섬 예시
}
// 2자리 16진수 문자열로 반환 (대문자)
return crc.ToString("X2");
}
}
}