MD5 dường như có các lỗ hổng tài liệu tốt và nó vẫn còn phổ biến trong việc sử dụng nó. Có ai có bất kỳ lý do nào cho nó vẫn là một lựa chọn khả thi khi các lựa chọn thay thế khác (ví dụ SHA-2) dường như mạnh mẽ hơn không?
MD5 dường như có các lỗ hổng tài liệu tốt và nó vẫn còn phổ biến trong việc sử dụng nó. Có ai có bất kỳ lý do nào cho nó vẫn là một lựa chọn khả thi khi các lựa chọn thay thế khác (ví dụ SHA-2) dường như mạnh mẽ hơn không?
Câu trả lời:
Nó nhanh chóng được tạo ra và thường thì thực tế là các va chạm về mặt lý thuyết có thể không phải là một vấn đề lớn. tức là kiểm tra xem một tập tin lưu trữ đã thay đổi để tránh tải xuống một bản sao mới.
Một điểm chuẩn nhanh được thực hiện vào năm 1996 cho thấy những điều sau đây:
Digest Performance in MegaBytes per Second
Pentium P5 Power Mac SPARC 4 DEC Alpha
90 MHz 80 MHz 110 MHz 200 MHz
MD5 13.1 3.1 5.1 8.5
SHA1 2.5 1.2 2.0 3.3
Để sử dụng hiện đại - trên các chip nhúng, MD5 có thể sản xuất nhanh hơn 2-3 lần so với SHA1 cho cùng một thông tin.
Băm MD5 là "đủ tốt" cho hầu hết các nhiệm vụ cấp độ. Hãy nhớ lại rằng việc tạo ra các xung đột có ý nghĩa trong cùng một số byte vẫn cực kỳ khó khăn.
Chẳng hạn, giả sử bạn tải xuống Ubuntu 9.10 mới vào tuần tới từ một máy nhân bản đáng tin cậy. Bạn muốn xác minh rằng tệp đã được tải xuống chính xác và đầy đủ. Đơn giản chỉ cần kích hoạt MD5 và băm ISO. So sánh hàm băm với hàm băm được công bố. Nếu giá trị băm khớp, bạn có thể chắc chắn rằng ISO đã được sao chép chính xác và hoàn toàn.
và an ninh có thể được cải thiện với việc muối nó.
MD5 được sử dụng rộng rãi như một hàm băm tổng kiểm tra vì nó nhanh và có tỷ lệ va chạm cực thấp. Tổng kiểm tra MD5 bao gồm 32 chữ số thập lục phân, cùng nhau cung cấp tỷ lệ cược 1 trong ~ 3,42e34 của một vụ va chạm. Về mặt lý thuyết, bạn có thể băm tất cả các tệp trong tất cả các máy tính ở một quốc gia có kích thước của Hoa Kỳ và không tạo ra xung đột (*).
Đối với mật mã, MD5 là một sự thay thế hợp lệ nếu bảo mật chỉ là mối quan tâm vừa phải. Đây là một tùy chọn rất khả thi để băm mật khẩu cơ sở dữ liệu hoặc các trường khác yêu cầu bảo mật nội bộ cho tốc độ của nó, nhưng cũng vì MD5 cung cấp mức bảo mật hợp lý trong đó mã hóa mạnh không phải là vấn đề đáng lo ngại.
(*) đối với hầu hết các mục đích tổng kiểm tra, một vụ va chạm chỉ có ý nghĩa nếu nó xảy ra giữa hai đối tượng có nguồn gốc tương tự và có cùng kích thước. Mặc dù có xác suất duy nhất cao MD5, va chạm cuối cùng có thể xảy ra giữa hai tệp rất khác biệt. Giả sử, tệp cơ sở dữ liệu 1,5Mb và tệp gif 35k. Đối với hầu hết các mục đích, đây là một sự va chạm vô nghĩa. Thậm chí nhiều hơn bởi vì MD5 chỉ là một yếu tố của việc lập chỉ mục tệp. Kích thước tập tin là một trong những quan trọng khác.
MD5 được sử dụng rộng rãi vì nó đã được sử dụng rộng rãi và thời gian nghỉ chưa đủ quan trọng để trở thành một vấn đề rõ ràng trong các hệ thống hiện có.
sha256sum filename.iso
thay vìmd5sum filename.iso
?