CRC

CRC32 체크섬 ieee 802.3

텍스트의 CRC-32 체크섬을 16진수와 10진수로 계산합니다. 전송 오류 확인과 중복 판별에 사용합니다.

INPUTtext
0 lines 0 chars
1
OUTPUTchecksum
0 bytes
CRC-32 (IEEE 802.3) · client-side only
도구 설명

이 도구가 하는 일

CRC32는 데이터를 다항식으로 나눈 나머지를 이용해 32비트 값을 만드는 오류 검출 코드입니다. 결과는 8자리 16진수로 표기합니다. 이 도구는 이더넷, ZIP, PNG, gzip에서 사용하는 IEEE 802.3 다항식을 씁니다.

CRC는 암호학적 해시가 아니라 오류 검출용으로 설계되었습니다. 목표는 전송이나 저장 중에 비트가 뒤집히는 사고를 잡아내는 것이며, 실제로 연속된 비트 오류를 매우 높은 확률로 검출합니다. 계산이 단순한 표 조회와 XOR로 이루어져 매우 빠르고 하드웨어로 구현하기도 쉽습니다.

반면 의도적인 조작에는 취약합니다. 원하는 CRC 값이 나오도록 데이터를 조작하는 것이 수학적으로 어렵지 않기 때문입니다. 그래서 파일이 손상되었는지 확인하는 데는 적합하지만 파일이 변조되었는지 검증하는 데는 쓸 수 없습니다.

언제 사용하나요

압축 파일이나 이미지의 체크섬 값을 확인할 때, 대량의 문자열에서 중복 후보를 빠르게 추리는 키를 만들 때, 통신 프로토콜을 구현하면서 체크섬 계산이 맞는지 검증할 때, 데이터가 전송 중 손상되지 않았는지 확인할 때 사용합니다.

입력과 출력 예시

입력 hello
출력 3610a686 (10진수 907060870)

항상 8자리 16진수로 표현됩니다.

입력 hello world
출력 0d4a1185

입력이 조금만 달라져도 값이 전혀 달라집니다. 앞자리 0도 유지해 8자리로 표기합니다.

주의사항

CRC32는 보안 검증에 사용할 수 없습니다. 특정 CRC 값을 갖도록 데이터를 만드는 것이 가능하므로 무결성 증명이나 서명 대체로는 부적합합니다. 그런 용도에는 SHA-256이나 HMAC을 사용하십시오. 또한 32비트 공간이라 값이 43억 개뿐입니다. 수십만 건 규모만 넘어가도 서로 다른 데이터가 같은 값을 갖는 충돌이 현실적으로 발생하므로, 중복 판별에 쓸 때는 CRC가 같은 항목을 다시 원본으로 비교하는 단계가 필요합니다.

자주 묻는 질문

CRC32로 파일 변조를 확인할 수 있나요?

없습니다. 원하는 CRC 값이 나오도록 데이터를 조작할 수 있어 보안 검증에는 쓸 수 없습니다. 손상 여부 확인 용도로만 사용하십시오.

다른 도구와 값이 다릅니다.

CRC32에는 여러 다항식 변형이 있습니다. 이 도구는 ZIP과 PNG가 쓰는 IEEE 802.3 방식이며, CRC-32C(Castagnoli) 같은 변형과는 값이 다릅니다.

Copied