LookingGlass/Util/RandomStringGenerator.cs

27 lines
774 B
C#
Raw Normal View History

2025-01-29 18:09:21 +00:00
using System.Security.Cryptography;
using System.Text;
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();
}
}