Máy tính mã băm HAVAL-192/4
Đã xuất bản: lúc 20:36:28 UTC 18 tháng 2, 2025
Cập nhật lần cuối: lúc 14:12:06 UTC 12 tháng 1, 2026
HAVAL-192/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 192 bit (24 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 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.
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:
