2025-01-29 18:09:21 +00:00
|
|
|
using System.Security.Cryptography;
|
|
|
|
using System.Text;
|
|
|
|
|
2025-01-30 17:58:13 +00:00
|
|
|
namespace LookingGlass.Util;
|
2025-01-29 18:09:21 +00:00
|
|
|
|
|
|
|
public class RandomStringGenerator
|
|
|
|
{
|
|
|
|
private static readonly char[] chars =
|
|
|
|
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*+?".ToCharArray();
|
|
|
|
|
|
|
|
public static string GenerateRandomString(int length)
|
|
|
|
{
|
|
|
|
var stringBuilder = new StringBuilder();
|
|
|
|
using (var rng = RandomNumberGenerator.Create())
|
|
|
|
{
|
|
|
|
byte[] buffer = new byte[1];
|
|
|
|
for (int i = 0; i < length; i++)
|
|
|
|
{
|
|
|
|
rng.GetBytes(buffer);
|
|
|
|
var randomIndex = buffer[0] % chars.Length;
|
|
|
|
stringBuilder.Append(chars[randomIndex]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return stringBuilder.ToString();
|
|
|
|
}
|
|
|
|
}
|