using System.Security.Cryptography; using System.Text; namespace LookingGlass.Util; 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(); } }