Miklix

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.

Trang này được dịch máy từ tiếng Anh để có thể tiếp cận được với nhiều người nhất có thể. Thật không may, dịch máy vẫn chưa phải là công nghệ hoàn thiện, do đó có thể xảy ra lỗi. Nếu bạn thích, bạn có thể xem phiên bản tiếng Anh gốc tại đây:

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.


Bereken Nuwe Hash-kode

Dữ liệu được gửi hoặc tệp được tải lên thông qua biểu mẫu này sẽ chỉ được lưu trên máy chủ trong thời gian cần thiết để tạo mã băm theo yêu cầu. Mã băm sẽ bị xóa ngay trước khi kết quả được trả về trình duyệt của bạn.

Dữ liệu đầu vào:



Văn bản đã gửi được mã hóa UTF-8. Vì hàm băm hoạt động trên dữ liệu nhị phân, kết quả sẽ khác so với khi văn bản được mã hóa khác. Nếu bạn cần tính toán băm của văn bản trong một mã hóa cụ thể, bạn nên tải tệp lên thay thế.



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.

Chia sẻ trên BlueskyChia sẻ trên FacebookChia sẻ trên LinkedInChia sẻ trên TumblrChia sẻ trên XChia sẻ trên LinkedInGhim trên Pinterest

Mikkel Bang Christensen

Về tác giả

Mikkel Bang Christensen
Mikkel là người sáng lập và chủ sở hữu của miklix.com. Ông có hơn 20 năm kinh nghiệm làm lập trình viên máy tính/nhà phát triển phần mềm chuyên nghiệp và hiện đang làm việc toàn thời gian cho một tập đoàn CNTT lớn của Châu Âu. Khi không viết blog, ông dành thời gian rảnh rỗi cho nhiều sở thích, thú vui và hoạt động, có thể được phản ánh ở một mức độ nào đó trong nhiều chủ đề được đề cập trên trang web này.