Existe-t-il une implémentation rapide de générateur de nombres pseudo-aléatoires sécurisé cryptographiquement (CSPRNG) pour C # 3.0 (.NET Framework 3.5), pour les jetons d'authentification?
using System.Security.Cryptography;
...
using(RandomNumberGenerator rng = new RNGCryptoServiceProvider())
{
byte[] tokenData = new byte[32];
rng.GetBytes(tokenData);
string token = Convert.ToBase64String(tokenData);
}
La classe RNGCryptoServiceProvider
Cela dépend de ce que vous entendez par rapide ...
Il n'y a pas de générateur aléatoire sécurisé vraiment rapide. Si vous voulez rapide, vous devez utiliser la classe Random régulière. Si vous voulez sécuriser, vous devez utiliser le générateur aléatoire dans l'espace de noms Cryptography, mais c'est beaucoup plus lent. Vous ne pouvez tout simplement pas avoir les deux.