Miklix

Máy tính mã băm HAVAL-256/4

Đã xuất bản: lúc 20:58:50 UTC 18 tháng 2, 2025
Cập nhật lần cuối: lúc 14:14:30 UTC 12 tháng 1, 2026

Công cụ tính toán mã băm sử dụng hàm băm độ dài biến đổi 256 bit, 4 vòng (HAVAL-256/4) để tính toán mã băm dựa trên văn bản đầu 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:

HAVAL-256/4 Hash Code Calculator

HAVAL (Hash of Variable Length) là một hàm băm mật mã được thiết kế bởi Yuliang Zheng, Josef Pieprzyk và Jennifer Seberry vào năm 1992. Nó là một phần mở rộng của họ MD (Message Digest), đặc biệt lấy cảm hứng từ MD5, nhưng với những cải tiến đáng kể về tính linh hoạt và bảo mật. Nó có thể tạo ra các mã băm có độ dài thay đổi từ 128 đến 256 bit, xử lý dữ liệu trong 3, 4 hoặc 5 vòng.

Biến thể được trình bày trên trang này tạo ra mã băm 256 bit (32 byte) được tính toán trong 4 vòng. Kết quả được xuất ra dưới dạng số thập lục phân 64 chữ số.

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ế.



Giới thiệu về thuật toán băm HAVAL

Hãy tưởng tượng HAVAL như một chiếc máy xay siêu mạnh được thiết kế để trộn các nguyên liệu (dữ liệu của bạn) một cách kỹ lưỡng đến mức không ai có thể đoán ra công thức ban đầu chỉ bằng cách nhìn vào hỗn hợp cuối cùng (mã băm).

Bước 1: Chuẩn bị nguyên liệu (Dữ liệu của bạn)

Khi bạn cung cấp cho HAVAL một số dữ liệu - chẳng hạn như tin nhắn, mật khẩu hoặc tập tin - nó không chỉ đơn thuần đưa chúng vào máy xay mà không qua xử lý. Trước tiên, nó sẽ:

  • Làm sạch và chia nhỏ dữ liệu thành các phần gọn gàng (quá trình này được gọi là thêm phần đệm).
  • Hãy đảm bảo kích thước tổng thể phù hợp hoàn hảo với máy xay (ví dụ như đảm bảo các nguyên liệu làm sinh tố được phân bổ đều trong cối).

Bước 2: Pha trộn theo từng vòng (các lượt trộn)

Máy xay HAVAL không chỉ nhấn nút "xay" một lần. Nó xay dữ liệu của bạn qua 3, 4 hoặc 5 vòng - giống như xay sinh tố nhiều lần để đảm bảo mọi miếng đều được nghiền nát.

  • Lượt: Pha trộn nhanh (nhanh nhưng không an toàn lắm).
  • 5 lượt: Quá trình trộn cực kỳ kỹ lưỡng (chậm hơn nhưng an toàn hơn nhiều).

Mỗi vòng chơi sẽ trộn dữ liệu theo một cách khác nhau, sử dụng các "lưỡi dao" đặc biệt (các phép toán) để cắt, lật, khuấy và nghiền nát dữ liệu theo những cách điên rồ và khó đoán trước.

Bước 3: Bí quyết (Chức năng nén)

Giữa các lần xay, HAVAL thêm vào "gia vị bí mật" của mình - những công thức đặc biệt giúp khuấy động mọi thứ hơn nữa. Bước này đảm bảo rằng ngay cả một thay đổi nhỏ trong dữ liệu của bạn (như thay đổi một chữ cái trong mật khẩu) cũng sẽ làm cho ly sinh tố cuối cùng hoàn toàn khác biệt.

Bước 4: Sinh tố cuối cùng (Hỗn hợp băm nhỏ)

Sau khi xay nhuyễn, HAVAL sẽ rót ra ly "sinh tố" cuối cùng của bạn.

  • Đây là mã băm - dấu vân tay duy nhất của dữ liệu của bạn.
  • Dù dữ liệu gốc của bạn lớn hay nhỏ, mã băm (hash) luôn có cùng kích thước. Điều này giống như việc cho bất kỳ loại trái cây nào vào máy xay sinh tố nhưng luôn thu được cùng một cốc sinh tố.

Tính đến năm 2025, chỉ có HAVAL-256/5 vẫn được coi là đủ an toàn cho mục đích mã hóa, mặc dù bạn không nên sử dụng nó khi thiết kế các hệ thống mới. Nếu bạn vẫn đang sử dụng nó trong một hệ thống cũ, bạn không gặp rủi ro ngay lập tức, nhưng hãy cân nhắc chuyển sang sử dụng SHA3-256 chẳng hạn trong dài hạn.

Đọ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:


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 Christensen

Về tác giả

Mikkel 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.