首页 > 解决方案 > 使用 RandomNumberGenerator 的错误没有创建功能

问题描述

我尝试使用RandomNumberGenerator而不是 new Random 来生成加密随机数,但显示此错误 RandomNumberGenerator does not contain a definition for Create

using System.Security.Cryptography;
.
.
.
private int example()
{
    int number = RandomNumberGenerator.Create();
    .........
    .........
    return number;
}

标签: c#asp.net.netc#-4.0

解决方案


如果你去System.Security.Cryptography上课,你会看到 Create() 方法返回RandomNumberGenerator,所以你不能把它放在 int 变量中。

相反,请使用此语法。

private static RandomNumberGenerator rng = RandomNumberGenerator.Create();
    private static int GenerateSomeStatic(int size)
    {
        var Some = new byte[size];
        rng.GetBytes(Some);
        int a = BitConverter.ToInt32(Some);
        return a;
    }

推荐阅读