繁体   English   中英

随机代码生成器需要帮助

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM