Générer un nombre aléatoire avec RNGCryptoServiceProvider

Contenu du snippet

public static class RandomNumber
{
    private static RNGCryptoServiceProvider rngProvider = new RNGCryptoServiceProvider();
    private static byte[] bytes = new byte[4];
    public static int Next(int max)
    {
        if (max <= 0)
            throw new ArgumentOutOfRangeException("max");
        rngProvider.GetBytes(bytes);
        int value = BitConverter.ToInt32(bytes, 0) % max; 
        if (value < 0)
            value = -value;
        return value;
    }
}

Compatibilité : C# 2.x, C# 3.x

Disponible dans d'autres langages :

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.