Ни в одном из известных в настоящее время слабых мест на SHA-1 не влияет на его безопасность при использовании в HMAC, a fortiori при использовании в PBKDF2. В этом отношении MD5 тоже будет хорошо (но не MD4).
Однако SHA-1 не подходит для связей с общественностью: если в 2011 году вы используете SHA-1, тогда вы должны подготовиться к тому, чтобы оправдать этот выбор. С другой стороны, SHA-256 является прекрасной функцией по умолчанию, и никто не будет подвергать сомнению ее.
В PBKDF2 нет проблемы с производительностью (PBKDF2 включает в себя «счетчик итераций», предназначенный для того, чтобы сделать его как можно медленнее по мере необходимости), поэтому есть очень мало оснований предпочитать SHA-1 над SHA-256 здесь. Однако, если у вас есть существующий, развернутая система, которая использует PBKDF2-SHA-1, тогда нет необходимости немедленно «исправлять» ее.
Существует также довольно хорошее объяснение в [Stack Crypto] (http://crypto.stackexchange.com/questions/15218/is-pbkdf2-hmac-sha1-really-broken). Короче говоря, коллизии для паролей - это не плохо, это просто означает, что злоумышленник (или действительный пользователь) может войти в систему с паролем разных паролей, чтобы не вернуться к исходному «реальному» паролю. –