Ho sviluppato un'applicazione web che si occuperà di informazioni altamente sensibili e voglio assicurarmi che l'hashing delle password sia un gold standard. Idealmente, opterei per SHA512 salato per utente utilizzando PBKDF2 per eseguire più iterazioni dell'algoritmo, ma come sto sviluppando in asp.net, non esiste una versione .net SHA512 incorporata per PBKDF2 - Sono limitato a SHA1 (cioè Rfc2898DeriveBytes).
La mia domanda è davvero, tenendo presente che sto sviluppando in .net e sto proteggendo le informazioni sensibili, qual è il modo migliore per utilizzare le password degli utenti?
Devo attenermi all'implementazione SHA1 PBKDF2 di .net?
Devo utilizzare un'implementazione personalizzata di PBKDF2 per incorporare SHA512?
Dovrei preferire bcrypt o scrypt nonostante non siano ampiamente riconosciuti come standard (ad esempio NIST)?