如何生成具有给定长度的加密强随机字符串

Yas*_*ith 1 c# random

我需要生成具有指定长度的加密强随机字母数字字符串,仅使用以下字符。

  • AZ
  • 阿兹
  • 0-9

有没有办法在 C# 中实现这一点?

Mat*_*son 5

您可以使用class RandomNumberGenerator生成加密安全的随机数来执行此操作,例如:

string allowed = "ABCDEFGHIJKLMONOPQRSTUVWXYZabcdefghijklmonopqrstuvwxyz0123456789";
int strlen = 10; // Or whatever
char[] randomChars = new char[strlen];

for (int i = 0; i < strlen; i++)
{
    randomChars[i] = allowed[RandomNumberGenerator.GetInt32(0, allowed.Length)];
}

string result = new string(randomChars);

Console.WriteLine(result);
Run Code Online (Sandbox Code Playgroud)