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.