[英]Help needed with random code generator
我正在研究随机生成代码的要求(如随机数)。 代码应该是字母数字,但应该只允许(A-Z0-9)。用户可以指定代码中的字符数。代码可以是4-9个字符长,具体取决于用户输入。
代码的一个例子是'AG43','XFR4A5UU0'。
编辑: - 我正在寻找解决这个问题的最佳方法。 我正在考虑生成11到99范围内的2位数随机数。如果数字介于65和90之间(Az的ascii),我将使用ascii,否则我会将生成的数字附加到我的代码字符串中。
请指教。
var number_of_chars = 4;
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
var random = new Random();
var result = new string(
Enumerable.Repeat(chars, number_of_chars)
.Select(s => s[random.Next(s.Length)])
.ToArray());
public string GetRandomString(int length)
{
var newBuffer = new byte[length];
if (length <= 0)
return null;
// This was used for a password generator... change this how every needed
var charSet = ("ABCDEFGHJKLMNPQRSTUVWXYZ" +
"abcdefghijkmnprstuvxyz" +
"23456789").ToCharArray();
using (var rng = RandomNumberGenerator.Create())
{
rng.GetBytes(newBuffer);
var newChars = newBuffer.Select(b => charSet[b % charSet.Length]).ToArray();
return new string(newChars);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.