Máy tính tổng kiểm tra Adler32
Tính toán mã tổng kiểm tra Adler-32 của bất kỳ chuỗi văn bản nào với vết tính toán từng bước, định dạng đầu ra thập lục phân/thập phân/nhị phân và phân tích thành phần A/B.
Máy tính Tổng kiểm tra Adler-32
Tính toán tổng kiểm tra nhanh chóng để xác minh tính toàn vẹn dữ liệu. Được sử dụng trong các định dạng zlib, PNG và PDF.
Trình chặn quảng cáo đang ngăn chúng tôi hiển thị quảng cáo
MiniWebtool miễn phí nhờ quảng cáo. Nếu công cụ này hữu ích, hãy ủng hộ bằng Premium (không quảng cáo + nhanh hơn) hoặc cho phép MiniWebtool.com rồi tải lại trang.
- Hoặc nâng cấp Premium (không quảng cáo)
- Cho phép quảng cáo cho MiniWebtool.com, rồi tải lại
Giới thiệu về Máy tính tổng kiểm tra Adler32
Chào mừng bạn đến với Máy tính tổng kiểm tra Adler-32, một công cụ nhanh chóng và hiệu quả để tính toán tổng kiểm tra Adler-32 của các chuỗi văn bản. Adler-32 là một thuật toán tổng kiểm tra được sử dụng rộng rãi trong nén dữ liệu và xác minh tính toàn vẹn, mang lại sự cân bằng tuyệt vời giữa tốc độ tính toán và khả năng phát hiện lỗi.
Adler-32 là gì?
Adler-32 là một thuật toán tổng kiểm tra được Mark Adler phát minh vào năm 1995 như một phần của thư viện nén zlib. Nó tạo ra một giá trị tổng kiểm tra 32-bit bằng cách tính toán hai tổng 16-bit (thường gọi là A và B) và kết hợp chúng. Thuật toán ưu tiên tốc độ hơn độ mạnh phát hiện lỗi của các thuật toán CRC, khiến nó trở nên lý tưởng cho các ứng dụng mà việc kiểm tra tính toàn vẹn nhanh quan trọng hơn việc phát hiện tất cả các lỗi có thể xảy ra.
Cách Adler-32 hoạt động
Thuật toán Adler-32 duy trì hai tổng lũy kế:
- Tổng A: Bắt đầu từ 1 và tích lũy tổng của tất cả các byte
- Tổng B: Bắt đầu từ 0 và tích lũy tổng của tất cả các giá trị A trung gian
Cả hai tổng đều được tính theo modulo 65521, là số nguyên tố lớn nhất nhỏ hơn 216. Tổng kiểm tra cuối cùng kết hợp B và A dưới dạng: (B << 16) | A
65521 là số nguyên tố lớn nhất nhỏ hơn 216 (65536). Việc sử dụng modulo nguyên tố đảm bảo sự phân phối tốt hơn của các giá trị tổng kiểm tra và giảm xác suất xung đột, nơi các đầu vào khác nhau tạo ra cùng một tổng kiểm tra.
So sánh Adler-32 và CRC-32
| Tính năng | Adler-32 | CRC-32 |
|---|---|---|
| Tốc độ | Nhanh hơn (số học đơn giản) | Chậm hơn (chia đa thức) |
| Phát hiện lỗi | Tốt cho các lỗi ngẫu nhiên | Tốt hơn cho các lỗi cụm |
| Kích thước đầu ra | 32 bits | 32 bits |
| Sử dụng chính | zlib, PNG, PDF | Giao thức mạng, lưu trữ |
| Điểm yếu | Kém đối với tin nhắn ngắn | Tốn nhiều tài nguyên CPU hơn |
Các ứng dụng phổ biến
- Nén zlib: Adler-32 là thuật toán kiểm tra tính toàn vẹn được sử dụng trong các luồng dữ liệu nén zlib
- Hình ảnh PNG: Các tệp PNG sử dụng nén zlib, bao gồm các tổng kiểm tra Adler-32
- Tài liệu PDF: Nhiều luồng PDF được nén zlib với xác minh Adler-32
- Nén HTTP: Mã hóa nội dung gzip/deflate sử dụng Adler-32
- Đồng bộ hóa dữ liệu: rsync sử dụng Adler-32 để so sánh khối nhanh chóng
Các bước thuật toán
- Khởi tạo: Đặt A = 1 và B = 0
- Xử lý từng byte: Đối với mỗi byte D trong dữ liệu:
- A = (A + D) mod 65521
- B = (B + A) mod 65521
- Kết hợp: Tổng kiểm tra = (B × 65536) + A = (B << 16) | A
Cân nhắc về bảo mật
Quan trọng: Adler-32 KHÔNG phải là một hàm băm mật mã và không bao giờ được sử dụng cho mục đích bảo mật. Nó chỉ được thiết kế để phát hiện lỗi, không dùng cho:
- Băm mật khẩu
- Chữ ký số
- Xác thực dữ liệu
- Phát hiện giả mạo trước các cuộc tấn công độc hại
Đối với các ứng dụng bảo mật, hãy sử dụng các hàm băm mật mã như SHA-256, SHA-3 hoặc BLAKE3.
Câu hỏi thường gặp
Tổng kiểm tra Adler-32 là gì?
Adler-32 là một thuật toán tổng kiểm tra được Mark Adler phát minh vào năm 1995. Nó tạo ra một tổng kiểm tra 32-bit từ dữ liệu đầu vào bằng cách tính toán hai tổng 16-bit (A và B) theo modulo 65521. Nó nhanh hơn CRC-32 nhưng kém tin cậy hơn trong việc phát hiện một số mẫu lỗi, làm cho nó lý tưởng cho các ứng dụng ưu tiên tốc độ.
Adler-32 được tính toán như thế nào?
Adler-32 duy trì hai tổng: A (khởi tạo bằng 1) và B (khởi tạo bằng 0). Với mỗi byte, A = (A + byte) mod 65521, và B = (B + A) mod 65521. Tổng kiểm tra cuối cùng là (B << 16) | A, kết hợp cả hai tổng thành một giá trị 32-bit.
Adler-32 dùng để làm gì?
Adler-32 chủ yếu được sử dụng trong thư viện nén zlib và các định dạng sử dụng zlib (PNG, PDF, nén HTTP). Nó được dùng để xác minh tính toàn vẹn dữ liệu nhanh chóng khi tốc độ quan trọng hơn bảo mật.
Sự khác biệt giữa Adler-32 và CRC-32 là gì?
Adler-32 tính toán nhanh hơn nhưng phát hiện lỗi yếu hơn CRC-32. Adler-32 sử dụng các phép cộng đơn giản trong khi CRC-32 sử dụng phép chia đa thức. CRC-32 có thể phát hiện nhiều mẫu lỗi hơn và tốt hơn cho các lỗi cụm. Adler-32 được ưu tiên khi tốc độ là yếu tố then chốt.
Tại sao Adler-32 dùng 65521?
65521 là số nguyên tố lớn nhất nhỏ hơn 216 (65536). Sử dụng modulo nguyên tố đảm bảo phân phối giá trị tổng kiểm tra tốt hơn và giảm khả năng xung đột. Ràng buộc 16-bit cho phép các tổng A và B mỗi cái nằm gọn trong 16 bit, tạo ra kết quả 32-bit.
Tài nguyên bổ sung
Tham khảo nội dung, trang hoặc công cụ này như sau:
"Máy tính tổng kiểm tra Adler32" tại https://MiniWebtool.com/vi/máy-tính-tổng-kiểm-tra-adler32/ từ MiniWebtool, https://MiniWebtool.com/
bởi đội ngũ miniwebtool. Cập nhật: 27 thg 1, 2026
Các công cụ liên quan khác:
Hash và Checksum:
- Máy tính tổng kiểm tra Adler32
- Trình tạo Hash Argon2
- Trình tạo băm BLAKE2b
- Máy tính Tổng kiểm tra CRC32
- Máy Tính Kiểm Tra CRC64
- Trình tạo hash FNV-1a
- Trình tạo Hash MD5
- Trình tạo MurmurHash3
- Trình Tạo Băm RIPEMD-160
- Trình tạo băm SHA1
- Trình tạo hàm băm SHA224
- Trình tạo mã băm SHA256
- Trình tạo mã băm SHA3-256
- Trình tạo băm SHA384
- Trình tạo băm SHA3-384
- Trình tạo mã băm SHA3-512
- Trình tạo mã băm SHA512
- Trình tạo Hash Whirlpool