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

Contenu du snippet

Public Class RandomNumber
  Private Shared rngProvider As New RNGCryptoServiceProvider()
  Private Shared bytes As Byte() = New Byte(3) {}
  Public Shared Function [Next](ByVal max As Integer) As Integer
    If max <= 0 Then
      Throw New ArgumentOutOfRangeException("max")
    End If
    rngProvider.GetBytes(bytes)
    Dim value As Integer = BitConverter.ToInt32(bytes, 0) Mod max
    If value < 0 Then
      value = -value
    End If
    Return value
  End Function
End Class

Compatibilité : VB 2005, VB 2008

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.