사용 가능한 해시
MD2 해시, MD4 해시, MD5 해시, SHA1 해시, SHA224 해시, SHA256 해시, SHA384 해시, SHA512/224 해시, SHA512/256 해시, SHA512 해시, SHA3-224 해시, SHA3-256 해시, SHA3-384 해시, SHA3-512 해시, RIPEMD128 해시, RIPEMD160 해시, RIPEMD256 해시, RIPEMD320 해시, WHIRLPOOL 해시, TIGER128,3 해시, TIGER160,3 해시, TIGER192,3 해시, TIGER128,4 해시, TIGER160,4 해시, TIGER192,4 해시, SNEFRU 해시, SNEFRU256 해시, GOST 해시, GOST-CRYPTO 해시, ADLER32 해시, CRC32 해시, CRC32B 해시, CRC32C 해시, FNV132 해시, FNV1A32 해시, FNV164 해시, FNV1A64 해시, JOAAT 해시, HAVAL128,3 해시, HAVAL160,3 해시, HAVAL192,3 해시, HAVAL224,3 해시, HAVAL256,3 해시, HAVAL128,4 해시, HAVAL160,4 해시, HAVAL192,4 해시, HAVAL224,4 해시, HAVAL256,4 해시, HAVAL128,5 해시, HAVAL160,5 해시, HAVAL192,5 해시, HAVAL224,5 해시, HAVAL256,5 해시,
CRC32B란 무엇인가?
CRC32B는 32비트 순환 중복 검사(CRC) 알고리즘의 특정 변형입니다. 기본 CRC32 알고리즘은 표준 IEEE 802.3 다항식을 사용하는 반면, "B" 표기는 일반적으로 구성 변형을 의미하며, 이는 종종 서로 다른 초기값, 최종 XOR 마스크, 또는 MPEG-2와 같은 초기 멀티미디어 표준이나 특정 통신 스트림에서 볼 수 있는 패킷 기반 프로토콜에서 데이터 무결성을 보장하기 위해 사용되는 특정 비트 순서(반사형 대 비반사형)를 포함합니다.
CRC32B 해시는 어떻게 작동하나요?
CRC32B 해싱 과정은 특정 응용 요구 사항에 맞게 조정된 다항식 나눗셈의 기본 원리를 따릅니다:
- 초기화: 32비트 레지스터를 초기화하며, 대개
0xFFFFFFFF로 설정되지만, 이는 "B" 변형의 구체적인 프로토콜 구현에 따라 달라질 수 있습니다. - 다항식 처리: 입력 데이터를 긴 비트 시퀀스로 취급합니다. XOR 연산을 활용하여 이 비트 시퀀스를 고정된 생성 다항식으로 나눕니다.
- 비트 반전: 일부 원시 CRC 구현과 달리, CRC32B 구현은 일반적으로 "반전된" 입력과 출력을 사용합니다. 이는 비트가 최하위 비트(LSB)부터 순서대로 처리됨을 의미하며, 이는 하드웨어 시프트 레지스터에 있어 계산 효율이 더 높습니다.
- 최종화: 마지막 바이트가 처리된 후, 결과에 대해 비트별 보충 연산(
0xFFFFFFFF와의 XOR 연산)을 수행하여 다이제스트를 최종 확정합니다.
CRC32와 CRC32B의 차이점은 무엇인가요?
CRC32B 알고리즘은 CRC32 알고리즘과 유사한 방식으로 작동하지만, 다른 다항식 값과 다른 체크섬 계산 방법을 사용합니다. 그 결과 입력 메시지에 고유한 32비트 체크섬 값이 산출됩니다. 데이터가 전송되거나 저장된 후 다시 불러올 때, 체크섬을 재계산하여 원래 체크섬과 비교함으로써 발생할 수 있는 오류를 감지할 수 있습니다. CRC32B는 더 견고한 다항식 값과 더 정확한 체크섬 계산 방식을 사용하기 때문에 CRC32보다 더 신뢰할 수 있고 효율적인 것으로 간주됩니다.
CRC32B와 CRC32C의 차이점
두 방식의 차이는 주로 수학적이며, 서로 다른 운영 환경을 위해 고안되었습니다:
- 다항식 선택: CRC32C는 현대식 고속 저장 장치의 오류 검출에 수학적으로 최적화된 카스타뇰리 다항식(
0x1EDC6F41)을 사용합니다. CRC32B는 일반적으로 표준 IEEE 802.3 다항식(0x04C11DB7)을 사용하지만, 구성에 있어 특정 프로토콜 수준의 조정이 가해집니다. - 성능: CRC32C는 하드웨어 가속(현대 x86/ARM CPU의 CRC32 명령어 사용)을 위해 설계된 반면, CRC32B는 일반적으로 레거시 프로토콜 호환성을 위해 최적화된 소프트웨어 기반 구현입니다.
- 적용 분야: CRC32C는 최신 파일 시스템(Btrfs, ZFS 등) 및 네트워크 프로토콜(iSCSI)의 표준입니다. CRC32B는 일반적으로 특정 레거시 체크섬 요구 사항을 충족해야 하는 구형 멀티미디어 스트리밍 컨테이너나 틈새 시장용 임베디드 통신 프로토콜에서 발견됩니다.