Thuật toán là như nhau. Các bộ bóng tối hiện đại sử dụng các mô đun xác thực có thể cắm (PAM) và PAM cho phép bạn định cấu hình một thuật toán băm. Đó là tất cả về "muối", có nghĩa là ngẫu nhiên hóa mật khẩu để mang lại hiệu quả mà bạn đang hỏi về.
Salting là một biện pháp đối phó với các cuộc tấn công từ điển, trong đó kẻ tấn công có từ điển các cặp mật khẩu / băm đã biết cố gắng tìm hiểu xem liệu giá trị băm đã cho cho một mật khẩu không xác định có khớp với giá trị băm cho một trong các mật khẩu đã biết hay không.
Salting ngăn chặn rằng vì một giá trị muối khác nhau dẫn đến một giá trị băm khác nhau, do đó, mật khẩu không bằng nhau. (Tuy nhiên, đó là cách thực hành tồi, nhưng vì những lý do khác.) Để cuộc tấn công từ điển thành công, kẻ tấn công giờ phải có từ điển cho mọi giá trị muối có thể. Một muối thực sự ngẫu nhiên có kích thước đủ sẽ làm cho xác suất thành công của một cuộc tấn công như vậy không đáng kể.
Đọc gợi ý: Mật khẩu được lưu trữ trong Linux như thế nào (Hiểu băm với các tiện ích bóng tối)