Sa presupunem ca este nevoie de generarea unor numere random. Putem folosi clasa Random.
Random r = new Random();
Int32 number = r.Next();
Aceasta abordare este corecta pentru cazurile in care nu ne intereseaza securitatea. Altfel, se poate folosi din spatiul de nume System.Security.Cryptography clasa RNGCryptoServiceProvider:
var crypto = new RNGCryptoServiceProvider();
var bytes = new byte[4];
//umple vectorul cu valori criptate
crypto.GetBytes(bytes);
//converteste un vector de bytes la int
Int32 number = BitConverter.ToInt32(bytes,0);
RNGCryptoServiceProvider foloseste in generare informatii ale procesorului, ale sistemului de operare, timp.
Atat Random cat si RNGCrptoServiceProvider sunt pseudorandom.
Category: Uncategorized