Hàm băm là hàm một chiều mật mã tạo ra đầu ra có kích thước cố định (giá trị băm, digest) từ dữ liệu đầu vào có kích thước tùy ý. Cùng một đầu vào luôn tạo ra cùng một băm, nhưng ngay cả một thay đổi nhỏ trong đầu vào tạo ra một băm hoàn toàn khác. Tính chất này làm cho nó lý tưởng cho việc xác minh dữ liệu và kiểm tra tính toàn vẹn.
Thuật toán băm được hỗ trợ
Công cụ này hỗ trợ các thuật toán băm chính: MD5 (128-bit, kế thừa), SHA-1 (160-bit, kế thừa), SHA-256 (256-bit, khuyến nghị), SHA-384 (384-bit) và SHA-512 (512-bit, bảo mật tối đa). SHA-256 hoặc cao hơn được khuyến nghị cho các ứng dụng quan trọng về bảo mật. MD5 và SHA-1 có các lỗ hổng đã biết và nên tránh trừ khi duy trì khả năng tương thích.
Tính chất bảo mật
Hàm băm mật mã có ba tính chất quan trọng: (1) Một chiều: không thể phục hồi dữ liệu gốc từ băm về mặt tính toán. (2) Chống va chạm: cực kỳ khó khăn để hai đầu vào khác nhau tạo ra cùng một băm. (3) Hiệu ứng tuyết lở: thay đổi đầu vào nhỏ gây ra thay đổi băm lớn. Các tính chất này làm cho chúng lý tưởng cho xác minh dữ liệu, chữ ký số và lưu trữ mật khẩu.
Tầm quan trọng của Hàm một chiều
Hàm băm là một chiều, có nghĩa là bạn không thể phục hồi dữ liệu gốc từ giá trị băm. Tính chất này làm cho chúng lý tưởng cho lưu trữ mật khẩu, xác minh dữ liệu và tạo dấu vân tay số của tệp. Nếu mật khẩu được băm và lưu trữ, bản thân mật khẩu vẫn được bảo vệ ngay cả khi cơ sở dữ liệu bị xâm phạm.