Máy tính mã băm Adler-32
Đã xuất bản: lúc 18:03:52 UTC 17 tháng 2, 2025
Cập nhật lần cuối: lúc 09:14:15 UTC 12 tháng 1, 2026
Adler-32 Hash Code Calculator
Hàm băm Adler-32 là một thuật toán kiểm tra tổng đơn giản, nhanh chóng và thường được sử dụng để xác minh tính toàn vẹn dữ liệu. Nó được thiết kế bởi Mark Adler và thường được sử dụng trong các ứng dụng như zlib để nén dữ liệu. Không giống như các hàm băm mật mã (như SHA-256), Adler-32 không được thiết kế cho mục đích bảo mật mà để kiểm tra lỗi nhanh chóng. Nó tính toán một tổng kiểm tra 32 bit (4 byte), thường được biểu diễn dưới dạng 8 ký tự thập lục phân.
Tiết lộ đầy đủ: Tôi không viết phần triển khai cụ thể của hàm băm được sử dụng trên trang này. Đây là một hàm chuẩn đi kèm với ngôn ngữ lập trình PHP. Tôi chỉ tạo giao diện web để công khai ở đây cho thuận tiện.
Giới thiệu về thuật toán băm Adler-32
Tôi không phải là nhà toán học, nhưng tôi sẽ cố gắng giải thích hàm băm này bằng một ví dụ thông thường mà tôi hy vọng những người không chuyên về toán học cũng có thể hiểu được. Không giống như nhiều hàm băm mật mã khác, Adler32 là một hàm kiểm tra tổng khá đơn giản, vì vậy điều này sẽ không quá khó khăn ;-)
Hãy tưởng tượng bạn có một túi đựng những mảnh ghép nhỏ được đánh số, mỗi mảnh đại diện cho một chữ cái hoặc một phần dữ liệu của bạn. Ví dụ, từ "Hi" có hai mảnh ghép: một cho "H" và một cho "i".
Bây giờ, chúng ta sẽ thực hiện hai thao tác đơn giản với những viên gạch này:
Bước 1: Cộng chúng lại (Tổng A)
- Hãy bắt đầu với số 1 (theo quy tắc chung).
- Cộng số từ mỗi ô vào tổng này.
Bước 2: Cộng dồn tất cả các tổng (Tổng B)
- Mỗi khi bạn cộng số của một ô mới vào Tổng A, bạn cũng cộng giá trị mới của Tổng A vào Tổng B.
- Nó giống như việc xếp chồng các đồng xu: bạn thêm một đồng xu lên trên (Tổng A), rồi ghi lại tổng chiều cao của chồng đồng xu mới (Tổng B).
Cuối cùng, bạn ghép hai tổng lại với nhau để tạo thành một số lớn duy nhất. Số lớn đó chính là tổng kiểm tra Adler-32.
Đọc thêm
Nếu bạn thích bài viết này, bạn cũng có thể thích những gợi ý sau:
