[英]Help needed with random code generator
I am working on a requirement to randomly generate codes(like a random number). 我正在研究随机生成代码的要求(如随机数)。 The code should be a alphanumeric but should only allow (A-Z0-9]. The user can specify the number of characters in the code. The code can be 4-9 chars long depending on the user input. 代码应该是字母数字,但应该只允许(A-Z0-9)。用户可以指定代码中的字符数。代码可以是4-9个字符长,具体取决于用户输入。
an example of the code would be 'AG43', 'XFR4A5UU0'. 代码的一个例子是'AG43','XFR4A5UU0'。
Edit :- I am looking at the best way to solve this. 编辑: - 我正在寻找解决这个问题的最佳方法。 I was looking at generating 2 digit random number in the range 11 to 99. If the number is between 65 & 90 (ascii of Az ), I will use the ascii for it else i will append the number generated to my code string. 我正在考虑生成11到99范围内的2位数随机数。如果数字介于65和90之间(Az的ascii),我将使用ascii,否则我会将生成的数字附加到我的代码字符串中。
Please advise. 请指教。
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.