Miklix

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

Đã xuất bản: lúc 22:39:38 UTC 16 tháng 2, 2025
Cập nhật lần cuối: lúc 09:06:57 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 2 (MD2) để 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:

MD2 Hash Code Calculator

Hàm băm MD2 (Message Digest 2) là một hàm băm mật mã được thiết kế bởi Ronald Rivest vào năm 1989. Nó được tối ưu hóa đặc biệt cho máy tính 8-bit. Mặc dù hiện nay được coi là lỗi thời và không an toàn cho mục đích mật mã, nó vẫn được đưa vào đây trong trường hợp cần tính toán mã băm tương thích ngược. Không nên sử dụng nó khi thiết kế các hệ thống mới.

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 MD2

Tôi khá giỏi toán cơ bản, nhưng không xuất sắc lắm và hoàn toàn không tự coi mình là một nhà toán học, vì vậy tôi sẽ cố gắng giải thích cách hoạt động của hàm băm này bằng những thuật ngữ mà người không chuyên toán học có thể hiểu được. Nếu bạn thích phiên bản toán học đầy đủ hơn, bạn có thể dễ dàng tìm thấy nó ở nhiều nơi khác trên mạng ;-)

Bây giờ, hãy tưởng tượng bạn có một công thức có thể dùng bất kỳ nguyên liệu nào (thông điệp của bạn) và luôn luôn biến chúng thành một thanh sô cô la nhỏ gồm 16 miếng (mã băm). Cho dù nguyên liệu của bạn là gì, lớn hay nhỏ, bạn vẫn luôn nhận được thanh sô cô la có cùng kích thước.

Mục tiêu của công thức này là:

  1. Bạn không thể đoán được các thành phần chỉ bằng cách nhìn vào sô cô la.
  2. Chỉ cần một thay đổi nhỏ trong nguyên liệu cũng có thể làm cho hương vị sô cô la hoàn toàn khác đi, vì vậy bạn có thể biết nếu ai đó đã can thiệp vào nguyên liệu hoặc công thức.

Việc tạo ra thanh sô cô la là một quy trình gồm ba bước:


Bước 1: Bổ sung nội dung cho thông điệp (Điều chỉnh cho các thành phần phù hợp)

Giả sử bạn có một cái giỏ đựng được chính xác 16 quả táo (hoặc nguyên liệu). Nhưng nếu bạn chỉ có 14 quả táo thì sao? Bạn cần thêm 2 quả nữa để đầy giỏ. Nếu thiếu, bạn chỉ cần thêm táo. Ví dụ:

  • Nếu cần thêm hai quả nữa, bạn thêm hai quả táo.
  • Nếu bạn có nhiều hơn 16, bạn cần thêm vào giỏ tiếp theo. Ví dụ, nếu bạn có 28, bạn cộng thêm bốn để được 32 (gấp hai lần 16).

Điều này đảm bảo mọi giỏ đều đầy trước khi chúng ta chuyển sang bước tiếp theo.


Bước 2: Thêm mã kiểm tra (Danh sách thành phần bí mật)

Giờ thì chúng ta sẽ lập một danh sách nguyên liệu bí mật dựa trên tất cả mọi thứ trong giỏ.

  • Bạn lần lượt xem từng giỏ táo, quan sát những quả táo bên trong, và ghi lại một mật mã bí mật cho mỗi quả.
  • Đây không chỉ đơn thuần là sao chép - nó giống như việc cộng các con số theo một cách kỳ lạ, đến nỗi ngay cả khi ai đó lén lút thay đổi một quả táo, danh sách vẫn sẽ trông sai lệch.

Danh sách này giúp bạn kiểm tra kỹ lưỡng để đảm bảo các thành phần không bị thay đổi sau này.


Bước 3: Trộn tất cả các nguyên liệu lại với nhau (Máy xay thần kỳ)

Giờ đến phần thú vị nhất - pha trộn!

  • Bạn có một máy xay sinh tố 48 khe.
  • Bạn cho vào: Táo (thông điệp của bạn). Một ít hỗn hợp cũ từ trước (bắt đầu trống rỗng cho mẻ đầu tiên). Một hỗn hợp của hai thứ đầu tiên.

Sau đó bạn xay nhuyễn hỗn hợp. Nhưng không chỉ một lần. Bạn xay đến 18 lần, thay đổi tốc độ và hướng xay mỗi lần. Đây không phải là cách xay thông thường - mỗi lần xay sẽ khuấy đều hỗn hợp theo một cách đặc biệt, đến nỗi chỉ cần một quả táo khác biệt cũng sẽ làm cho toàn bộ hương vị sô cô la trở nên khác biệt.


Thanh sô cô la cuối cùng (The Hash)

Sau tất cả các bước trộn, bạn chỉ đổ ra 16 miếng ở trên cùng của hỗn hợp. Đó chính là thanh sô cô la cuối cùng của bạn - MD2 hash. Nó trông không giống những quả táo ban đầu chút nào, và nếu bạn cố gắng đoán các thành phần ban đầu chỉ từ sô cô la, bạn sẽ không bao giờ đoán được.

Nhớ:

  • Cùng nguyên liệu = cùng loại sô cô la.
  • Chỉ cần thay đổi một quả táo thôi cũng đủ làm cho sô cô la hoàn toàn khác đi.
  • Bạn không thể quay ngược lại - bạn không thể tìm ra những quả táo ban đầu chỉ dựa vào sô cô la.

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