MD5 là gì?
MD5 (Message Digest Algorithm 5) tạo ra đầu ra cố định 128-bit — được hiển thị dưới dạng chuỗi thập lục phân 32 ký tự — từ đầu vào có độ dài bất kỳ. Được thiết kế bởi Ron Rivest và được công bố trong RFC 1321 (1991), nó trở thành chuẩn kiểm tra tính toàn vẹn cho các bản tải xuống và hệ thống cũ.
Lưu ý về bảo mật: MD5 đã bị phá vỡ cho mục đích mật mã — hãy chọn SHA-256, BLAKE3 hoặc Argon2 cho các ứng dụng quan trọng về bảo mật.
MD5 hoạt động như thế nào?
- Pad thông điệp sao cho độ dài ≡ 448 (mod 512) bit
- Append độ dài gốc (64-bit theo định dạng little-endian)
- Initialize bốn từ 32-bit (A, B, C, D)
- Process dữ liệu trong các khối 16 từ qua 4 vòng phi tuyến tính
- Produce bản băm cuối cùng 128-bit
MD5 so với các hàm băm khác
Algorithm | Output | Bảo mật hiện tại | Tốc độ tương đối* |
---|---|---|---|
MD5 | 128 bit | ❌ Bị phá vỡ | ⚡ Rất nhanh |
SHA-1 | 160 bit | ❌ Bị phá vỡ | ⚡ Nhanh |
SHA-256 | 256 bit | ✅ An toàn | 🚀 Trung bình |
SHA-512 | 512 bit | ✅ Rất an toàn | 🚀 Trung bình-chậm |
BLAKE3 | 256 bit | ✅ An toàn | ⚡ Blazing |
Ví dụ về các băm
Input | Băm MD5 |
---|---|
Hello World | b10a8db164e0754105b7a99be72e3fe5 |
password | 5f4dcc3b5aa765d61d8327deb882cf99 |
test123 | cc03e747a6afbbcbf8be7668acfebee5 |
(rỗng) | d41d8cd98f00b204e9800998ecf8427e |
Câu hỏi thường gặp
Có dữ liệu nào được gửi đến máy chủ của bạn không?
Không. Thư viện JavaScript chạy hoàn toàn trong trình duyệt của bạn. Văn bản và tập tin không bao giờ rời khỏi thiết bị của bạn.
Tôi có thể xác minh ISO tải về bằng MD5 không?
Có. Kéo tập tin ISO vào công cụ để tính toán mã kiểm tra MD5, sau đó so sánh với mã băm do nhà phân phối công bố.
MD5 có an toàn cho mật khẩu không?
Không. Hãy sử dụng các thuật toán băm mật khẩu chuyên dụng như bcrypt, Argon2 hoặc PBKDF2.
Các cân nhắc về bảo mật
- Collisions: Các đầu vào khác nhau có thể tạo ra kết quả MD5 giống nhau.
- Length-extension: Kẻ tấn công có thể thêm dữ liệu mà không cần biết thông điệp gốc.
- Speed: Tốc độ rất nhanh của MD5 hỗ trợ các cuộc tấn công brute-force.
Quy tắc chung: Chỉ sử dụng MD5 cho các mục đích không liên quan đến bảo mật như phát hiện tập tin trùng lặp hoặc kiểm tra nhanh.