🍋
Menu
Security

Checksum

체크섬 (데이터 무결성 검증)

특정 알고리즘을 사용하여 데이터 블록에서 계산된 값으로, 저장 또는 전송 중 데이터가 손상되거나 변경되지 않았는지 확인하기 위한 지문 역할을 합니다.

기술 세부사항

체크섬은 단순한 것(패리티 비트, 바이트 합, CRC32)부터 암호화 수준(MD5, SHA-256)까지 다양합니다. CRC32(순환 중복 검사, 32비트)는 빠르고 일반적인 전송 오류를 감지하지만 충돌 저항성이 없습니다. MD5는 128비트 해시를 생성하며 한때 표준이었지만 현재 암호학적으로 깨진 것으로 간주됩니다. SHA-256은 강력한 무결성 보장을 제공합니다. 실제로 소프트웨어 다운로드는 SHA-256 체크섬을 제공하여 사용자가 로컬 계산 결과와 비교합니다. Web Crypto API의 subtle.digest()는 브라우저에서 암호화 체크섬을 계산합니다. Adler-32(zlib에서 사용)는 스트리밍 데이터 검증에서 CRC32보다 빠릅니다.

예시

```javascript
// Checksum — Web Crypto API example
const data = new TextEncoder().encode('sensitive data');
const hash = await crypto.subtle.digest('SHA-256', data);
const hex = Array.from(new Uint8Array(hash))
  .map(b => b.toString(16).padStart(2, '0')).join('');
```

관련 도구

관련 용어