CRC32 해시 생성기

무료 온라인 CRC32 해시 생성기 도구. 100% 로컬 처리 — 데이터가 기기를 벗어나지 않습니다.

General
Password Hashing / KDF
Specialized
Deprecated
출력

결과가 여기에 표시됩니다...

입력 해시 계산

Usage Guide

CRC32란?

CRC32(Cyclic Redundancy Check, 32비트)는 다항식 나눗셈 기반의 오류 감지 알고리즘입니다. CRC-32/ISO-HDLC 다항식(0xEDB88320, 반전)을 사용하여 임의의 입력에서 32비트(8자리 16진수) 체크섬을 생성합니다. CRC32는 ZIP 아카이브, 이더넷 프레임, gzip, PNG 파일에서 우발적인 데이터 손상을 감지하기 위해 널리 사용됩니다.

CRC32는 암호학적 해시 함수가 아닙니다. 어떤 보안 보장도 제공하지 않습니다 — 충돌(collision)은 수 밀리초 내에 의도적으로 생성될 수 있으며, 변조에 대한 저항성이 전혀 없습니다. 비밀번호 해싱, 디지털 서명, 인증 또는 보안에 민감한 목적에 CRC32를 절대 사용하지 마십시오. 대신 SHA-256 또는 SHA-3 을 사용하세요.

사용 방법

CRC32는 단방향 체크섬입니다 — 입력에서 고정된 체크섬을 계산하며 역산할 수 없습니다:

1. 입력체크섬을 계산할 텍스트를 입력 상자에 붙여넣거나 입력합니다
2. CRC32 계산'계산' 버튼을 클릭하여 WebAssembly를 통해 로컬에서 체크섬을 계산합니다
3. 결과 복사'복사' 버튼을 클릭하여 8자리 16진수 결과를 가져옵니다(예: 414FA339)
개인정보 보호: 모든 계산은 WebAssembly를 통해 브라우저 내에서 완전히 실행됩니다. 어떤 데이터도 서버로 전송되지 않습니다.

출력 형식

CRC32는 입력 길이에 상관없이 항상 정확히 8자리 16진수(32비트 / 4바이트)를 출력합니다. 동일한 입력은 항상 동일한 출력을 생성합니다. 한 글자만 변경해도 완전히 다른 체크섬이 생성됩니다(눈사태 효과). 예시: "hello" → "3610A686".

출력 길이항상 8자리 16진수(32비트)
문자 집합0–9 및 A–F(대문자 16진수)
결정론적동일한 입력은 항상 동일한 출력 생성
민감도1비트 변화 시 출력의 약 50% 비트가 변화

CRC32와 암호학적 해시 함수 비교

CRC32와 암호학적 해시(SHA-256, SHA-3, BLAKE2)는 근본적으로 다른 목적을 가지며 혼동해서는 안 됩니다:

CRC32 목적우발적 데이터 손상 감지(비트 반전, 전송 오류)
암호 해시 목적의도적 변조 감지, 데이터 인증, 비밀번호 저장
CRC32 충돌사소함 — 누구든 수 밀리초 내에 동일한 CRC32를 가진 입력을 만들 수 있음
CRC32 속도매우 빠름 — 하드웨어에 최적화, 이더넷·ZIP·PNG에서 사용
안전한 무결성 검증을 위해 SHA-256, SHA-3 또는 BLAKE2 를 사용하세요. CRC32는 신뢰할 수 있는 환경의 오류 감지에만 적합합니다.

FAQ

Q: CRC32는 파일 무결성 검증에 안전한가요?

A: 아니요. CRC32는 우발적인 손상(예: 전송 중 비트 반전)만 감지할 수 있습니다. 공격자는 합법적인 파일과 동일한 CRC32를 가진 악성 파일을 쉽게 만들 수 있습니다. 보안에 중요한 파일 무결성을 위해서는 항상 SHA-256 이나 더 강력한 해시를 사용하고, 이상적으로는 디지털 서명과 함께 사용하세요.

Q: 서로 다른 두 입력이 같은 CRC32를 가질 수 있는 이유는 무엇인가요?

A: CRC32는 임의의 입력을 단 2^32(약 43억)개의 가능한 값에 매핑하므로 충돌은 수학적으로 피할 수 없습니다. 더 중요한 것은 GF(2) 위에서 CRC의 선형 수학적 구조로 인해 의도적인 충돌 생성이 매우 쉽다는 것입니다 — 임의의 메시지에 짧은 접미사를 추가하여 마이크로초 내에 원하는 CRC32 값을 강제할 수 있습니다.

Q: CRC32는 실제로 어디에 사용되나요?

A: CRC32는 속도와 단순성이 중요한 비보안 컨텍스트에서 널리 사용됩니다: ZIP과 gzip 아카이브는 전송 오류를 감지하기 위해 CRC32를 저장합니다; 이더넷(802.3)은 모든 패킷에 32비트 CRC 프레임 체크 시퀀스(FCS)를 추가합니다; PNG 이미지 청크에 CRC32가 포함됩니다; 많은 파일 시스템의 디스크 섹터 체크섬; zlib 및 deflate 스트림 검증. 이 모두는 CRC32가 무작위 오류를 감지하는 능력에만 의존하며, 의도적인 공격은 방어하지 못합니다.

Q: CRC32와 MD5의 차이점은 무엇인가요?

A: 둘 다 빠르고 고정 길이 출력을 생성하지만 근본적으로 다릅니다: MD5 는 보안을 위해 설계된 암호학적 해시(128비트 / 32자리 16진수)이지만 현재는 취약점이 발견되었습니다. CRC32는 오류 감지만을 위해 설계된 비암호학적 체크섬(32비트 / 8자리 16진수)입니다. CRC32가 더 빠르지만 충돌 저항성이 훨씬 약합니다. 오늘날 둘 다 보안 목적으로 사용해서는 안 됩니다 — SHA-256 또는 BLAKE2를 선호하세요.

Q: 서로 다른 데이터가 동일한 CRC32 값을 가질 수 있나요?

A: 네 — 이를 충돌이라고 하며 CRC32에서는 의도적으로 만들기 매우 쉽습니다. 두 개의 완전히 다른 파일이나 문자열이 동일한 8자리 CRC32 값을 공유할 수 있습니다. 이는 오류 감지 체크섬에서 예상되는 동작이며 CRC32를 보안 메커니즘으로 절대 사용해서는 안 되는 주요 이유 중 하나입니다.

Q: CRC32를 비밀번호 해싱에 사용할 수 있나요?

A: 절대 안 됩니다. CRC32는 암호학적 해시가 아니며 비밀번호 해싱에 필요한 어떤 속성도 없습니다: 매우 빠르며(초당 수십억 번의 시도 가능), 충돌 생성이 사소하며, 솔팅 지원이 없습니다. Argon2id, bcrypt, scrypt 같은 전용 비밀번호 해싱 알고리즘을 사용하세요. 지침은 OWASP 비밀번호 저장 치트시트 를 참고하세요.

Use Cases

권장: ZIP / gzip 아카이브 체크섬

ZIP과 gzip은 저장 또는 전송 중 파일 손상을 감지하기 위해 CRC32를 사용합니다. 이것이 표준 사용 사례입니다: 신뢰할 수 있는 발신자가 CRC32를 계산하고 수신자가 우발적인 비트 오류를 감지하기 위해 이를 검증합니다. 적대적인 컨텍스트는 가정하지 않습니다.

Recommended Configuration:
  • ✅ ZIP/gzip 내부 무결성을 위한 CRC32(표준 준수)
  • ✅ PNG 청크 검증을 위한 CRC32
  • ✅ gzip/zlib 스트림 검증을 위한 CRC32
  • ❌ 의도적인 파일 변조 감지에 CRC32에 의존하지 말 것
권장: 네트워크 패킷 오류 감지

이더넷(IEEE 802.3)은 모든 프레임에 32비트 CRC 프레임 체크 시퀀스를 추가합니다. 하드웨어가 이를 선속도로 계산하고 확인합니다. 오류가 무작위(노이즈)이고 적대적이지 않으며 속도가 중요하기 때문에 CRC32는 여기서 탁월합니다.

Recommended Configuration:
  • ✅ 이더넷, iSCSI, SCTP 패킷 검증을 위한 CRC32 / CRC-32C
  • ✅ 직렬/UART 통신 오류 감지를 위한 CRC32
  • ❌ 네트워크 통신 보호에는 부적절 — TLS/HMAC 사용
권장: 임베디드 시스템 데이터 검증

마이크로컨트롤러와 임베디드 펌웨어는 플래시 메모리 내용, EEPROM 데이터 무결성, 부팅 이미지 정확성을 검증하기 위해 CRC32를 사용합니다. 하드웨어 CRC 유닛(예: STM32 CRC 주변장치)은 바이트당 하나의 클럭 사이클로 계산합니다.

Recommended Configuration:
  • ✅ 펌웨어 이미지 검증을 위한 CRC32(비보안 부팅 체크)
  • ✅ EEPROM / NVM 데이터 무결성을 위한 CRC32
  • ✅ 통신 프로토콜 프레이밍을 위한 CRC32
  • ❌ 보안 부팅에는 암호학적 서명(ECDSA/RSA)과 함께 사용
허용: 비보안 데이터 중복 제거

CRC32는 충돌이 허용되는 경우(예: 2차 비교가 동등성을 확인) 체크섬으로 데이터를 버킷화하고 중복 가능성이 있는 항목을 찾기 위한 빠른 첫 번째 패스 필터로 사용할 수 있습니다. 보안에 민감한 스토리지에서 유일한 중복 제거 키로 CRC32를 단독으로 사용하지 마세요.

Recommended Configuration:
  • ✅ 바이트 단위 비교 전 빠른 사전 필터로서의 CRC32
  • ⚠️ 중복 제거 키로서의 CRC32 단독 사용(충돌 위험 ~43억분의 1)
  • ❌ 보안 요구사항이 있는 콘텐츠 주소지정 스토리지에 CRC32
  • 💡 무결성 보장이 있는 중복 제거에는 BLAKE2 또는 SHA-256 고려
비권장: 모든 보안 목적

CRC32는 인증, 공격자에 대한 무결성 보호, 비밀번호 해싱, 디지털 서명, 보안 컨텍스트의 콘텐츠 핑거프린팅에 절대 사용해서는 안 됩니다. 보안에 민감한 해싱에는 SHA-256, SHA-3 또는 BLAKE2 를 사용하세요.

Recommended Configuration:
  • ❌ 비밀번호 해싱에 CRC32
  • ❌ 디지털 서명 또는 MAC에 CRC32
  • ❌ API 인증 토큰에 CRC32
  • ❌ 보안에 중요한 파일 무결성 검증에 CRC32
  • ✅ 모든 보안 사용 사례에 SHA-256 / SHA-3 / BLAKE2

모범 사례 요약

  • CRC32는 신뢰할 수 있고 비적대적인 컨텍스트에서 우발적인 데이터 손상을 감지하는 데만 적합합니다.
  • CRC32는 보안을 전혀 제공하지 않습니다 — 충돌은 사소하게 생성되며 암호학적 속성이 없습니다.
  • 모든 보안 사용 사례(인증, 무결성, 서명, 비밀번호)에는 SHA-256, SHA-3 또는 BLAKE2를 사용하세요.
  • CRC32는 ZIP, gzip, PNG, 이더넷, 임베디드 펌웨어 내부에서 올바른 선택입니다 — 그것이 설계된 범위입니다.
  • 의심스러울 때는 기본적으로 SHA-256을 선택하세요: 빠르고, 보편적으로 지원되며, 암호학적으로 안전합니다.

토론 및 피드백

0개의 댓글