📅  最后修改于: 2023-12-03 14:56:56.094000             🧑  作者: Mango
统一随机是一个基于C#的开源库,它提供了一种简单而有效的随机数生成方法,可以用于各种应用场景,如密码生成、游戏开发、数据脱敏、加/解密等。它的特点是生成的随机数具有高质量、高熵、高速度等优点。
统一随机可通过NuGet安装,打开Visual Studio,进入要安装该库的项目,选择“工具” -> “NuGet包管理器” -> “管理解决方案的NuGet程序包”,搜索“URandom”,即可进行安装。
在C#代码中引用库,使用以下命名空间:
using URandom;
以下是生成随机数的方法:
int URandom.GenerateInt() // 生成32位整数
long URandom.GenerateLong() // 生成64位整数
float URandom.GenerateFloat() // 生成单精度浮点数
double URandom.GenerateDouble() // 生成双精度浮点数
byte[] URandom.GenerateBytes(int count) // 生成指定长度的字节数组
统一随机可以根据不同种子生成不同的随机数序列,以下是设定种子的方法:
void URandom.SetSeed(int seed) // 设定整型种子
void URandom.SetSeed(long seed) // 设定长整型种子
void URandom.SetSeed(byte[] seed) // 设定字节数组种子
统一随机可以根据不同范围生成不同的随机数,以下是设定范围的方法:
int URandom.GenerateInt(int min, int max) // 生成指定范围内的32位整数
long URandom.GenerateLong(long min, long max) // 生成指定范围内的64位整数
float URandom.GenerateFloat(float min, float max) // 生成指定范围内的单精度浮点数
double URandom.GenerateDouble(double min, double max) // 生成指定范围内的双精度浮点数
以下是一个生成随机密码的示例代码:
using System;
using URandom;
class Program
{
static void Main(string[] args)
{
string password = GeneratePassword(10);
Console.WriteLine("Your password: " + password);
}
static string GeneratePassword(int length)
{
char[] characters = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w','x', 'y', 'z',
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
'.', '_', '+', '-', '=', '!', '@', '#', '$', '%', '^', '&', '*'};
string password = "";
URandom.SetSeed(DateTime.Now.Ticks); // 根据当前时间设定种子
for (int i = 0; i < length; i++)
{
password += characters[URandom.GenerateInt(0, characters.Length)];
}
return password;
}
}
统一随机是一个简单而强大的C#随机数生成库,可以在各种应用场景中应用。它的高质量、高熵和高速度是其他库所无法比拟的。推荐给C#程序员使用。