0
我想獲得一個隨機數,但它有一定數量的數字,我不能減少。我怎樣才能用這種安全的方法獲得只有2位數的隨機數?如何使用RNGCryptoServiceProvider類創建2位隨機數?
{ Console.WriteLine("{0}",GetRandom());Console.ReadLine();
}
private static int GetRandom()
{
RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
{
byte[] randomNumber = new byte[4];
rng.GetBytes(randomNumber);
int value = BitConverter.ToInt32(randomNumber,0);
return value;
你是指兩位數十進制數(0-99)還是兩位數十六進制數(0-255)? – jdweng
這很危險,由於分配不均,你不能使用明顯的%運算符。取7位rng(&0x7f)。如果它小於100那麼它的好,如果不是,那麼重複。 –
兩位十進制我的意思是 – Ryepower