Máy tính mã băm Adler-32
Đã xuất bản: lúc 18:03:52 UTC 17 tháng 2, 2025
Máy tính mã băm sử dụng hàm băm Adler-32 để tính toán mã băm dựa trên văn bản nhập vào hoặc tệp tải lên.Adler-32 Hash Code Calculator
Hàm băm Adler-32 là một thuật toán tổng kiểm tra đơn giản, nhanh và thường được sử dụng để xác minh tính toàn vẹn của 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ế để bảo mật mà để kiểm tra lỗi nhanh. Nó tính toán 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.
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 phép so sánh thông thường mà tôi hy vọng những người không phải là nhà toán học có thể hiểu được. Không giống như nhiều hàm băm mật mã, Adler32 là một hàm kiểm tra tổng khá đơn giản, vì vậy điều này không quá tệ ;-)
Hãy tưởng tượng bạn có một túi các ô số nhỏ, mỗi ô đạ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ộ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 ô này:
Bước 1: Cộng chúng lại (Tổng A)
- Bắt đầu bằng số 1 (theo nguyên tắc).
- Cộng số của mỗi ô vào tổng số này.
Bước 2: Giữ Tổng của Tất cả các Tổng (Tổng B)
- Mỗi khi bạn thêm số của ô mới vào Tổng A, bạn cũng thêm giá trị mới của Tổng A vào Tổng B.
- 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 cùng (Tổng A), sau đó ghi lại tổng chiều cao mới của chồng đồng xu (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 đó là tổng kiểm tra Adler-32.