Me gustaría obtener algunas opiniones sobre si sería seguro o no usar PBKDF2 para generar un hash de una contraseña. Para mis propósitos, me gustaría asumir que el hash se publicará en la página de Twitter de la Casa Blanca (en otras palabras, será público).
¿Estaría mejor usando una cantidad masiva de iteraciones SHA-256 (como reemplazo de mis 100,000 iteraciones PBKDF2)? ¿Hay algún ataque que pueda revertir PBKD2?
Este es el código que estoy 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);