diff --git a/Util/RandomStringGenerator.cs b/Util/RandomStringGenerator.cs new file mode 100644 index 0000000..814114f --- /dev/null +++ b/Util/RandomStringGenerator.cs @@ -0,0 +1,26 @@ +using System.Security.Cryptography; +using System.Text; + +namespace ZenithInfo.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(); + } +}