MD5 là gì? (Thuật toán thông báo-thông báo MD5)

Mục lục:

MD5 là gì? (Thuật toán thông báo-thông báo MD5)
MD5 là gì? (Thuật toán thông báo-thông báo MD5)
Anonim

MD5 (về mặt kỹ thuật được gọi là MD5 Message-Digest Algorithm) là một hàm băm mật mã có mục đích chính là xác minh rằng một tệp đã không bị thay đổi.

Thay vì xác nhận hai tập hợp dữ liệu là giống nhau bằng cách so sánh dữ liệu thô, MD5 thực hiện điều này bằng cách tạo tổng kiểm tra trên cả hai tập hợp và sau đó so sánh tổng kiểm tra để xác minh chúng giống nhau.

MD5 có một số sai sót nhất định, vì vậy nó không hữu ích cho các ứng dụng mã hóa nâng cao, nhưng hoàn toàn có thể chấp nhận được khi sử dụng nó để xác minh tệp tiêu chuẩn.

Sử dụng Trình kiểm tra MD5 hoặc Trình tạo MD5

Microsoft File Checksum Integrity Verifier (FCIV) là một máy tính miễn phí có thể tạo tổng kiểm tra MD5 từ các tệp thực tế chứ không chỉ văn bản. Xem bài viết của chúng tôi về cách xác minh tính toàn vẹn của tệp trong Windows với FCIV để tìm hiểu cách sử dụng chương trình dòng lệnh này.

Một cách dễ dàng để lấy mã băm MD5 của một chuỗi các chữ cái, số và ký hiệu là sử dụng công cụ Miracle Salad MD5 Hash Generator. Nhiều ứng dụng khác cũng tồn tại, như MD5 Hash Generator, PasswordsGenerator và OnlineMD5.

Image
Image

Khi sử dụng cùng một thuật toán băm, các kết quả giống nhau sẽ được tạo ra. Điều này có nghĩa là bạn có thể sử dụng một máy tính MD5 để lấy tổng kiểm tra MD5 của một số văn bản cụ thể và sau đó sử dụng một máy tính MD5 hoàn toàn khác để có được kết quả chính xác giống nhau. Điều này có thể được lặp lại với mọi công cụ tạo tổng kiểm tra dựa trên hàm băm này.

Lịch sử và các lỗ hổng của MD5

MD5 được phát minh bởi Ronald Rivest, nhưng nó chỉ là một trong ba thuật toán của ông ấy.

Hàm băm đầu tiên mà ông phát triển là MD2 vào năm 1989, được xây dựng cho máy tính 8-bit. Mặc dù nó vẫn đang được sử dụng, MD2 không dành cho các ứng dụng cần mức độ bảo mật cao, vì nó đã được chứng minh là dễ bị tấn công.

MD2 sau đó được thay thế bởi MD4 vào năm 1990. MD4 được sản xuất cho các máy 32-bit và nhanh hơn MD2 rất nhiều, nhưng cũng có những điểm yếu và hiện được Lực lượng Đặc nhiệm Kỹ thuật Internet coi là lỗi thời.

MD5 được phát hành vào năm 1992 và cũng được xây dựng cho các máy 32-bit. Nó không nhanh như MD4 nhưng được coi là an toàn hơn so với các triển khai MDx trước đó.

Mặc dù MD5 an toàn hơn MD2 và MD4, các hàm băm mật mã khác, như SHA-1, đã được đề xuất như một giải pháp thay thế, vì MD5 cũng đã được chứng minh là có lỗi bảo mật.

Viện Kỹ thuật Phần mềm Đại học Carnegie Mellon có điều này để nói về MD5:

Nhà phát triển phần mềm, Tổ chức chứng nhận, chủ sở hữu trang web và người dùng nên tránh sử dụng thuật toán MD5 trong bất kỳ khả năng nào. Như nghiên cứu trước đây đã chứng minh, nó nên được coi là bị hỏng về mặt mật mã và không thích hợp để sử dụng thêm.

MD6 đã được đề xuất cho Viện Tiêu chuẩn và Công nghệ Quốc gia để thay thế cho SHA-3. Bạn có thể đọc thêm về đề xuất này tại đây.

Thông tin thêm về MD5 Hash

Hàm bămMD5 có độ dài 128 bit và thường được hiển thị ở dạng giá trị thập lục phân 32 chữ số tương đương. Điều này đúng bất kể tệp hoặc văn bản lớn hay nhỏ.

Đây là một ví dụ:

  • Văn bản thuần túy: Đây là một bài kiểm tra.
  • Giá trị hệ lục phân: 120EA8A25E5D487BF68B5F7096440019

Khi có nhiều văn bản hơn được thêm vào, hàm băm sẽ dịch sang một giá trị hoàn toàn khác nhưng có cùng số ký tự:

  • Văn bản thuần túy: Đây là bài kiểm tra để cho thấy độ dài của văn bản không quan trọng như thế nào.
  • Giá trị hệ lục phân: 6c16fcac44da359e1c3d81f19181735b

Trên thực tế, ngay cả một chuỗi không có ký tự nào cũng có giá trị hex là d41d8cd98f00b204e9800998ecf8427evà việc sử dụng chẵn một dấu chấm sẽ tạo ra giá trị này: 5058f1af8388633f609cadb75a75dc9d.

Sau đây là một số ví dụ khác:

Checksum Văn bản thuần túy
bb692e73803524a80da783c63c966d3c Lifewire là một trang web công nghệ.
64adbfc806c120ecf260f4b90378776a …!…
577894a14badf569482346d3eb5d1fbc Bangladesh là một quốc gia Nam Á.
42b293af7e0203db5f85b2a94326aa56 100 + 2=102
08206e04e240edb96b7b6066ee1087af supercalifragilisticexpialidocious

Tổng tổng kiểm tra MD5 được xây dựng để không thể đảo ngược, nghĩa là bạn không thể xem tổng kiểm tra và xác định dữ liệu đã nhập ban đầu.

Ví dụ: mặc dù a= 0cc175b9c0f1b6a831c399e269772661p= 83878c91171338902e0fe0fb97a8c47a, kết hợp cả hai để tạo ra aptạo ra một tổng kiểm tra hoàn toàn khác và không liên quan: 62c428533830d84fd8bc77bf402512fc, không thể tách rời để tiết lộ một trong hai chữ cái.

Như đã nói, có rất nhiều "chương giải mã" MD5 được quảng cáo là có thể giải mã giá trị MD5.

Tuy nhiên, điều thực sự đang xảy ra với trình giải mã hoặc "trình chuyển đổi ngược MD5" là họ tạo tổng kiểm tra cho rất nhiều giá trị và sau đó cho phép bạn tra cứu tổng kiểm tra của mình trong cơ sở dữ liệu của họ để xem liệu chúng có khớp không có thể hiển thị cho bạn dữ liệu gốc.

MD5Decrypt là một công cụ trực tuyến miễn phí đóng vai trò tra cứu ngược MD5, nhưng nó chỉ hoạt động đối với các từ và cụm từ phổ biến.

Xem Checksum là gì? để biết thêm ví dụ và một số cách miễn phí để tạo giá trị băm MD5 từ các tệp.

Đề xuất: