📜  统一随机 - C# (1)

📅  最后修改于: 2023-12-03 14:56:56.094000             🧑  作者: Mango

统一随机 - C#

简介

统一随机是一个基于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#程序员使用。