Tạo Hash Adler-32

Tạo Checksum Adler-32 — Nhanh & Nhẹ

Chia sẻ:

Tạo Hash Adler-32

Hàm checksum siêu nhanh để phát hiện lỗi

Adler-32 là hàm checksum được Mark Adler thiết kế năm 1995. Tạo hash 32-bit (8 ký tự thập lục phân). Được sử dụng rộng rãi trong thư viện nén zlib và giao thức rsync.

Adler-32 là gì?

Adler-32 sử dụng hai tổng: A (tổng tất cả byte + 1) và B (tổng tích lũy của tất cả giá trị A). Cả hai đều lấy modulo với số nguyên tố 65521.

✅ Ưu điểm

  • Siêu nhanh: Nhanh hơn đáng kể so với CRC-32 trong phần mềm
  • Chi phí thấp: Sử dụng CPU và bộ nhớ tối thiểu
  • Triển khai đơn giản: Chỉ vài dòng mã
  • Đã chứng minh trong sản xuất: Hàng tỷ luồng đã xử lý trong zlib

📊 Ứng dụng

  • Nén zlib: Xác minh tính toàn vẹn luồng
  • Giao thức rsync: Phát hiện thay đổi tệp nhanh
  • Kiểm tra mạng: Xác thực gói tin nhẹ
  • Truyền dữ liệu: Phát hiện lỗi luồng

⚠️ Lưu ý Bảo mật

Adler-32 không phải là hàm băm mật mã. Đây là checksum để phát hiện lỗi, không phải bảo mật. Sử dụng SHA-256 cho mật mã.

🔄 So sánh Adler-32

🔵

Adler-32

32-bit, phi mật mã

Nhanh nhất, phát hiện tối thiểu

🟢

CRC-32

32-bit, đa thức

Chậm hơn nhưng phát hiện tốt hơn

🟡

MD5

128-bit, mật mã

Bảo mật cao hơn nhiều

❓ Câu hỏi Thường gặp

Sự khác biệt giữa Adler-32 và CRC-32?

Adler-32 tính toán nhanh hơn nhưng phát hiện ít loại lỗi hơn CRC-32.

Có thể dùng Adler-32 cho bảo mật?

Không. Adler-32 là checksum, không phải hash mật mã.

Tại sao zlib dùng Adler-32?

zlib ưu tiên tốc độ.