I need to update some code that is using the PBKDF2 implementation in .Net, Rfc2898DeriveBytes
to hash user credentials.
It is my understanding that this function uses SHA-1 under the hood. I need to update the underlying hashing algorithm of the systems password hashing to use SHA-256 (This is a client IT-SEC requirement).
Having done some reading it seems it is best practice to continue to to use a Key derivation function, however PBKDF2 doesn't allow you to dictate the algorithm is should use, which is obviously a problem for me.
Our system is using .NET 4.5.1 and currently is not an option to upgrade that and I am reasonably confident it is not an option to reference any new .NET core .dlls that I've heard contain a new implementation of PBKDF2 that allows you to specify your algorithm.
I want to avoid home made implementations at all cost,s as that's the 1st rule of Crypto-Club right?
Any guidance on what is best practice would be appreciated.
Thanks