Мне нужно обновить некоторый код, который использует реализацию PBKDF2 в .Net, Rfc2898DeriveBytes
для хеширования учетных данных пользователя. Насколько я понимаю, эта функция использует SHA-1 под капотом. Мне нужно обновить базовый алгоритм хеширования системных паролей, чтобы использовать SHA-256 (это требование клиента IT-SEC).
Прочитав немного, кажется, что лучше продолжать использовать функцию деривации ключа, однако PBKDF2 не позволяет вам диктовать алгоритм, который следует использовать, что, очевидно, является проблемой для меня.
Наша система использует .NET 4.5.1, и в настоящее время нет возможности обновить ее, и я достаточно уверен, что нельзя ссылаться на какие-либо новые библиотеки .NET core .dll, которые, как я слышал, содержат новую реализацию PBKDF2, которая позволяет вам указать свой алгоритм.
Я хочу любой ценой избегать самодельных реализаций, так как это первое правило Crypto-Club, верно?
Буду признателен за любые рекомендации о том, что является наилучшей практикой.
Спасибо