Tạo Hash CRC-32

Tạo Checksum CRC-32 — Tiêu chuẩn Công nghiệp

Chia sẻ:

Tạo Hash CRC-32

Kiểm tra Dư thừa Tuần hoàn tiêu chuẩn cho tính toàn vẹn dữ liệu

CRC-32 là hàm checksum phi mật mã được sử dụng rộng rãi nhất thế giới. Tạo hash 32-bit (8 ký tự thập lục phân) thông qua phép chia đa thức.

CRC-32 là gì?

CRC-32 coi dữ liệu đầu vào là đa thức lớn và tính phần dư khi chia cho đa thức sinh cố định.

✅ Ưu điểm

  • Tăng tốc phần cứng: Lệnh Intel CRC32 tính ở tốc độ bộ nhớ
  • Phát hiện mạnh: Phát hiện tất cả lỗi 1-bit, 2-bit và bit lẻ
  • Tiêu chuẩn phổ quát: Ethernet, USB, ZIP, PNG, MPEG-2
  • Đơn giản & nhanh: Bảng tra cứu cho tính toán nhanh

📊 Ứng dụng

  • Lưu trữ: Xác minh tính toàn vẹn ZIP và gzip
  • Mạng: Xác thực khung Ethernet
  • Lưu trữ: Tính toàn vẹn hệ thống tệp
  • Đa phương tiện: Tính toàn vẹn tệp PNG và MPEG

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

CRC-32 không phải hàm băm mật mã. Được thiết kế để phát hiện lỗi ngẫu nhiên, không phải ngăn chặn thay đổi cố ý.

🔄 So sánh CRC-32

🔵

CRC-32

32-bit, đa thức

Phát hiện lỗi, không phải crypto

🟢

Adler-32

32-bit, số học

Nhanh hơn nhưng phát hiện kém hơn

🟡

MD5

128-bit, mật mã

Chậm hơn nhiều nhưng an toàn hơn

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

Sự khác biệt CRC-32 và CRC-32B?

Chúng sử dụng đa thức sinh khác nhau. CRC-32B là biến thể mặc định của PHP.

Tại sao CRC-32 không dùng cho bảo mật?

CRC-32 tuyến tính và có thể đảo ngược. Kẻ tấn công dễ dàng tạo xung đột.

CRC-32 có phát hiện mọi lỗi?

Không. CRC-32 phát hiện tất cả lỗi 1-bit và 2-bit nhưng một số mẫu có thể bị bỏ qua.