Vorrei avere alcune opinioni su come sarebbe sicuro o meno usare PBKDF2 per generare un hash di una password. Per i miei scopi, vorrei presumere che l'hash stesso sarà pubblicato sulla pagina Twitter della Casa Bianca (in altre parole sarà pubblico).
Sarebbe meglio usare un numero enorme di iterazioni SHA-256 (in sostituzione delle 100.000 iterazioni PBKDF2)? Ci sono attacchi che possono invertire PBKD2?
Questo è il codice che sto usando:
string salt = Utility.RandString(32);
// convert to byte[] and store in both forms
this.Salt = salt;
this.BSalt = Utility.ToByteArray(salt);
// generate the password hash
Rfc2898DeriveBytes preHash = new Rfc2898DeriveBytes(this.Password, this.BSalt, 100000);
byte[] byteHash = preHash.GetBytes(32);
this.Hash = Convert.ToBase64String(byteHash);