MD5 (Thuật toán tóm tắt thông điệp 5) là hàm băm mật mã lấy dữ liệu đầu vào (như tệp, mật khẩu hoặc thông điệp) và tạo ra giá trị băm 128 bit có kích thước cố định (thường được hiển thị dưới dạng số thập lục phân 32 ký tự).
Về mặt kỹ thuật, MD5 không phải là mã hóa vì đây là quy trình một chiều — không thể dễ dàng đảo ngược lại thành dữ liệu đầu vào ban đầu.
Kiểm tra tính toàn vẹn dữ liệu: Đảm bảo rằng tệp hoặc thông điệp không bị thay đổi bằng cách so sánh giá trị băm MD5 của chúng trước và sau khi truyền.
Lưu trữ mật khẩu (trước đây): Băm mật khẩu thay vì lưu trữ chúng ở dạng văn bản thuần túy (mặc dù MD5 hiện được coi là yếu cho mục đích này).
Chữ ký số: Tạo dấu vân tay dữ liệu nhỏ gọn, duy nhất cho mục đích xác minh.
Xử lý nhanh: Tạo giá trị băm nhanh chóng cho khối lượng dữ liệu lớn.
Sử dụng thư viện lập trình hoặc công cụ để tính toán băm MD5 (ví dụ: hàm md5() trong Python, lớp MessageDigest trong Java, System.Security.Cryptography.MD5 trong C#).
Truyền dữ liệu đầu vào (chuỗi, tệp hoặc nhị phân) cho hàm MD5.
Lưu trữ hoặc so sánh hàm băm MD5 kết quả để xác minh hoặc tra cứu sau.
Luôn nhớ rằng: MD5 không an toàn cho các nhu cầu bảo mật nhạy cảm như bảo vệ bằng mật khẩu ngày nay — các hàm băm mạnh hơn như SHA-256 hoặc bcrypt được khuyến nghị.
Khi kiểm tra tính toàn vẹn của tệp sau khi tải xuống hoặc sao lưu (ví dụ: so sánh "tổng kiểm MD5").
Khi tạo mã định danh duy nhất cho dữ liệu không nhạy cảm (ví dụ: cơ chế lưu trữ đệm, mã thông báo không quan trọng).
Khi xử lý hệ thống cũ hoặc hệ thống cũ hơn các ứng dụng nơi MD5 vẫn là định dạng mong đợi.
Khi tốc độ là yếu tố quan trọng và bảo mật không phải là mối quan tâm chính.