Không có điểm yếu nào được biết đến trên SHA-1 có bất kỳ tác động nào đến bảo mật khi được sử dụng trong HMAC, a fortiori khi được sử dụng trong PBKDF2. Đối với vấn đề đó, MD5 sẽ là tốt quá (nhưng không MD4).
Tuy nhiên, SHA-1 không tốt cho quan hệ công chúng: nếu, trong năm 2011, bạn sử dụng SHA-1, thì bạn phải tự chuẩn bị để phải biện minh cho lựa chọn đó. Mặt khác, SHA-256 là một "hàm mặc định" tốt và không ai sẽ hỏi nó.
Không có vấn đề về hiệu suất trong PBKDF2 (PBKDF2 bao gồm "số lần lặp" có nghĩa là làm cho nó chính xác khi cần) vì vậy có rất ít lý do để chọn SHA-1 trên SHA-256 tại đây. Tuy nhiên, nếu bạn có hiện có, hệ thống được triển khai sử dụng PBKDF2-với-SHA-1, thì không cần phải sửa lỗi ngay lập tức.
Nguồn
2011-02-09 12:28:52
Ngoài ra còn có một lời giải thích khá tốt trong [Stack Crypto] (http://crypto.stackexchange.com/questions/15218/is-pbkdf2-hmac-sha1-really-broken). Tóm lại, các xung đột mật khẩu không phải là điều xấu, nó chỉ có nghĩa là một người dùng độc hại (hoặc người dùng hợp lệ) có thể đăng nhập bằng một vài mật khẩu khác nhau mà họ không thể lấy lại mật khẩu "thực" gốc. –