using system;
using system.collections.generic;
using system.text;
using system.threading;
using system.security.cryptography;
namespace randnumber
...{
class randnumber
...{
/**//// <summary>
/// 產生隨機數的個數
/// </summary>
public int num;
/**//// <summary>
/// 隨機數存儲的數組
/// </summary>
public double[] randnum;
/**//// <summary>
/// 構造函數
/// </summary>
public randnumber(int num)
...{
this.num = num;
randnum = new double[this.num];
}
/**//// <summary>
/// 產生隨機數,填充數組
/// </summary>
/// <returns>產生0--1之間的隨機數,填充數組</returns>
private void rundoublerandoms(random randobj )
...{
for (int i=0; i < num; i++)
...{
randnum[i] = randobj.nextdouble();
}
}
/**//// <summary>
/// 利用系統時間產生隨機數
/// </summary>
/// <remarks>調用rundoublerandoms方法填充數組</remarks>
public void autoseedrandoms()
...{
random autorand = new random();
rundoublerandoms(autorand);
}
/**//// <summary>
/// 產生一串隨機的密碼串
/// </summary>
public string getrandompassword(int length)
...{
byte[] random = new byte[length / 2];
rngcryptoserviceprovider rng = new rngcryptoserviceprovider();
rng.getnonzerobytes(random);
stringbuilder sb = new stringbuilder(length);
for (int i = 0; i < random.length; i++)
...{
sb.append(string.format("{0:x2}", random[i]));
}
return sb.tostring();
}
}
}
這其中包含一個用。net中的密碼生成創建一個隨機的密碼串
新聞熱點
疑難解答