Miklix

Máy tính mã băm HAVAL-192/3

Đã xuất bản: lúc 20:08:03 UTC 18 tháng 2, 2025

Máy tính mã băm sử dụng hàm băm có độ dài thay đổi 192 bit, 3 vòng (HAVAL-192/3) để tính toán mã băm dựa trên dữ liệu 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:

HAVAL-192/3 Hash Code Calculator

HAVAL (Băm có độ dài thay đổi) 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. Đây là phần mở rộng của họ MD (Message Digest), lấy cảm hứng cụ thể từ MD5, nhưng có 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 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 đưa ra mã băm 192 bit (24 byte) được tính toán trong 3 vòng. Kết quả được đưa ra dưới dạng số thập lục phân 48 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ế.



Về thuật toán băm HAVAL

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

Bước 1: Chuẩn bị các thành phần (Dữ liệu của bạn)

Khi bạn cung cấp cho HAVAL một số dữ liệu - như tin nhắn, mật khẩu hoặc tệp - nó không chỉ ném chúng vào máy xay như vậy. Đầu tiên, nó:

  • Làm sạch và cắt dữ liệu thành các phần gọn gàng (gọi là đệm).
  • Đảm bảo kích thước tổng thể vừa khít với máy xay (tương tự như đảm bảo nguyên liệu làm sinh tố được đổ đầy đều vào bình).

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

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

  • 3 lần: Pha trộn nhanh (nhanh nhưng không an toàn lắm).
  • 5 lần: Pha trộn siêu kỹ lưỡng (chậm hơn nhưng an toàn hơn nhiều).

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

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

Giữa các vòng pha trộn, HAVAL thêm nước sốt bí mật của mình - công thức đặc biệt 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 làm cho sinh tố cuối cùng hoàn toàn khác biệt.

Bước 4: Sinh tố cuối cùng (The Hash)

Sau khi xay xong, HAVAL sẽ đổ ra "sinh tố" cuối cùng cho bạn.

  • Đây là hàm băm - dấu vân tay duy nhất của dữ liệu của bạn.
  • Bất kể dữ liệu gốc của bạn lớn hay nhỏ, hàm băm luôn có cùng kích thước. Giống như việc cho bất kỳ loại trái cây nào vào máy xay 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 hợp lý cho mục đích mật mã, 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 hệ thống cũ, bạn không gặp bất kỳ rủi ro nào ngay lập tức, nhưng hãy cân nhắc chuyển sang SHA3-256 trong dài hạn.

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.