Search code examples
c#.netrandom

How can I generate random alphanumeric strings?


How can I generate a random 8 character alphanumeric string in C#?


Solution

  • I heard LINQ is the new black, so here's my attempt using LINQ:

    private static Random random = new Random();
    
    public static string RandomString(int length)
    {
        const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        return new string(Enumerable.Repeat(chars, length)
            .Select(s => s[random.Next(s.Length)]).ToArray());
    }
    

    (Note: The use of the Random class makes this unsuitable for anything security related, such as creating passwords or tokens. Use the RNGCryptoServiceProvider class if you need a strong random number generator.)