Miklix

Máy tính mã băm MD4

Đã xuất bản: lúc 22:53:56 UTC 16 tháng 2, 2025
Cập nhật lần cuối: lúc 09:07:49 UTC 12 tháng 1, 2026

Công cụ tính toán mã băm sử dụng hàm băm Message Digest 4 (MD4) để 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:

MD4 Hash Code Calculator

MD4 (Message Digest 4) là một hàm băm mật mã được thiết kế bởi Ronald Rivest vào năm 1990. Nó tạo ra một giá trị băm cố định 128 bit (16 byte) từ một đầu vào có độ dài tùy ý. MD4 hiện được coi là đã bị phá vỡ về mặt mật mã do các lỗ hổng cho phép tấn công va chạm (tìm hai đầu vào khác nhau tạo ra cùng một giá trị băm), vì vậy không nên sử dụng nó khi thiết kế các hệ thống mới. Nó được đưa vào đây trong trường hợp cần tạo mã băm tương thích ngược.

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 MD4

Tôi không phải là nhà toán học, vì vậy tôi sẽ cố gắng giải thích hàm băm này theo cách mà những người không chuyên về toán học như tôi có thể hiểu được ;-) Nếu bạn thích lời giải thích chuyên sâu về toán học hơn, bạn có thể tìm thấy nó trên nhiều trang web khác.

Được rồi, hãy tưởng tượng MD4 như một máy hủy giấy đặc biệt. Nhưng thay vì hủy giấy, nó "xé" bất kỳ thông điệp nào (như thư, mật khẩu hoặc sách) thành một biên lai nhỏ, có kích thước cố định. Cho dù thông điệp của bạn lớn hay nhỏ, máy hủy giấy này luôn cho bạn một biên lai nhỏ có độ dài chính xác 16 byte (128 bit), hoặc 32 ký tự ở dạng thập lục phân.

Để xé nhỏ tin nhắn đúng cách, bạn cần thực hiện bốn bước sau:

Bước 1: Chuẩn bị thông điệp

  • Trước khi xé giấy, bạn phải điều chỉnh giấy sao cho vừa khít với máy xé giấy.
  • Nếu tin nhắn của bạn quá ngắn, bạn có thể thêm một vài khoảng trống (như hình vẽ hoặc chữ viết tắt) để giấy vừa khít.
  • Nếu quá dài, bạn có thể chia nó thành nhiều trang có cùng kích thước.

Bước 2: Thêm một con dấu bí mật

  • Sau khi chỉnh sửa tin nhắn, bạn thêm một con dấu bí mật ở cuối cho biết độ dài của tin nhắn gốc.
  • Điều này giúp máy hủy giấy theo dõi kích thước ban đầu của thông điệp, bất kể bạn đã thêm bao nhiêu phần thừa.

Bước 3: Quá trình xé vụn (3 vòng ma thuật)

  • Giờ thì thông điệp sẽ được đưa vào máy hủy giấy.
  • Máy nghiền có 4 bánh răng (A, B, C và D) quay cùng nhau theo một kiểu đặc biệt.
  • Các bánh răng trải qua 3 vòng quay, trong đó chúng: Trộn lẫn các từ; Lật ngược một số bộ phận; Xoay chúng xung quanh như khối Rubik; Đập vỡ các mảnh khác nhau lại với nhau.
  • Mỗi vòng lặp lại khiến thông điệp càng trở nên rối rắm và khó nhận ra.

Bước 4: Hóa đơn cuối cùng

  • Sau tất cả các thao tác quay, lật và đập, máy hủy giấy sẽ nhả ra một biên lai - một chuỗi ngắn các số và chữ cái (mã băm).
  • Biên lai này luôn có cùng độ dài, bất kể bạn xé một từ hay cả một cuốn sách!

Thật không may, theo thời gian, người ta phát hiện ra rằng chiếc máy hủy giấy thần kỳ này không hoàn hảo. Một số người thông minh đã tìm ra cách đánh lừa máy hủy giấy để nó tạo ra cùng một biên lai cho hai tin nhắn khác nhau (điều này được gọi là xung đột) và dự đoán cách các bánh răng sẽ quay, sau đó sử dụng nó để tạo ra các biên lai giả. Vì lý do này, MD4 không còn được coi là an toàn cho những thông tin quan trọng nữa.

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