Adler-32 체크섬 계산기
텍스트와 파일의 Adler-32 체크섬 계산, zlib/gzip 압축에 사용되는 빠른 체크섬
일반 텍스트 입력 (UTF-8 인코딩)
결과 Adler-32
Adler-32 소개
Adler-32는 1995년 Mark Adler가 발명한 체크섬 알고리즘입니다. zlib 압축 라이브러리에서 사용되며 널리 사용되는 gzip 파일 형식의 일부입니다. Adler-32는 합리적인 오류 감지 기능을 유지하면서 CRC-32보다 빠르도록 설계되었습니다.
이 알고리즘은 32비트 체크섬(4바이트)을 생성하며 특히 짧은 입력에 효율적입니다. 창시자의 이름을 따서 명명되었으며, 그는 gzip 및 zlib 압축 프로그램의 공동 저자이기도 합니다.
알고리즘
Adler-32는 65521(2^16 미만의 최대 소수)을 법으로 하는 두 개의 누적 합을 유지합니다. 체크섬은 다음과 같이 계산됩니다:
A = 1 + D1 + D2 + ... + Dn (mod 65521) B = (1 + D1) + (1 + D1 + D2) + ... + (1 + D1 + ... + Dn) (mod 65521) Adler-32 = (B << 16) | A
특성
- 출력: 32비트 (4바이트, 8자리 16진수)
- 속도: CRC-32보다 빠름, 특히 소프트웨어 구현에서
- 모듈로: 더 나은 분포를 위해 소수 65521 사용
- 초기값: A=1, B=0 (빈 문자열은 체크섬 1 생성)
일반적인 사용 사례
- zlib 라이브러리 - 데이터 압축 체크섬
- gzip 파일 형식 - 무결성 검증
- PNG 이미지 형식 - 청크 무결성
- 충돌 저항보다 속도를 우선시하는 빠른 데이터 검증
예제
Input: "Hello, World!"
Adler-32: 1f9e046a (Hex) / 530858090 (Decimal)
Input: "" (empty string)
Adler-32: 00000001 (Hex) / 1 (Decimal)
Adler-32 vs CRC-32
| 특성 | Adler-32 | CRC-32 |
|---|---|---|
| 속도 | 더 빠름 | 더 느림 |
| 오류 감지 | 양호 | 우수 |
| 일반적인 용도 | zlib, PNG, gzip | Ethernet, ZIP, PNG |