我有以下代码。作用是生成一个特定大小的随机ID。但是我不断收到一个错误消息
'System.Security.Cryptography.RNGCryptoServiceProvider' 不包含'GetNonZeroBytes' 的定义,并且找不到接受'System.Security.Cryptography.RNGCryptoServiceProvider' 类型的第一个参数的扩展方法'GetNonZeroBytes'(您是否缺少 using 指令或程序集参考)
我正在尝试在 .NET 中使用密码库,根据 msdn,这是可以在这种情况下使用的功能之一,但由于某种原因,我不断收到此错误。
任何人都可以帮忙吗?
using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Security.Cryptography;
using System.Text;
namespace ONeRESPONSEAPP
{
public class IdGenerator
{
public static string GetUniqueKey(int maxSize)
{
char[] chars = new char[45];
chars =
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890".ToCharArray();
byte[] data = new byte[1];
RNGCryptoServiceProvider identity= new RNGCryptoServiceProvider();
identity.GetNonZeroBytes(data);
data = new byte[maxSize];
identity.GetNonZeroBytes(data);
StringBuilder result = new StringBuilder(maxSize);
foreach (byte b in data)
{
result.Append(chars[b % (chars.Length)]);
}
return result.ToString();
}
}
}