How to generate random passwords with specific length in C#

2 Answers

0 votes
using System;
using System.Linq;
 
class Program
{
    private static Random random = new Random();
    
    public static string random_password(int len) {
        const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789~`!@#$%^&*()-_=+[{]}\\|;:\'\",<.>/?";
        return new string(Enumerable.Repeat(chars, len).Select(s => s[random.Next(s.Length)]).ToArray());
    }
    static void Main()
    {
        Console.WriteLine(random_password(12));
    }
}



/*
run:

]&OqUUnr>&Q*

*/

 



answered May 15, 2019 by avibootz
0 votes
using System;
using System.Text;
using System.Security.Cryptography;
 
class Program
{
    public static string random_password(int len) {
            char[] chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789~`!@#$%^&*()-_=+[{]}\\|;:\'\",<.>/?".ToCharArray();
            byte[] bytes = new byte[len];
            
            using (RNGCryptoServiceProvider crypto = new RNGCryptoServiceProvider())
            {
                crypto.GetBytes(bytes);
            }
            
            StringBuilder password = new StringBuilder(len);
            
            foreach (byte b in bytes) {
                password.Append(chars[b % (chars.Length)]);
            }
            
            return password.ToString();
    }
    static void Main()
    {
        Console.WriteLine(random_password(12));
    }
}



/*
run:

lkK9,A&<4$h5

*/

 



answered May 15, 2019 by avibootz

Related questions

3 answers 284 views
1 answer 119 views
1 answer 121 views
1 answer 132 views
1 answer 96 views
1 answer 103 views
...