Skip to content

Instantly share code, notes, and snippets.

@guitarrapc
Last active June 23, 2021 09:30
Show Gist options
  • Save guitarrapc/bc87cd62a71c059c0050df05b8ec9a23 to your computer and use it in GitHub Desktop.
Save guitarrapc/bc87cd62a71c059c0050df05b8ec9a23 to your computer and use it in GitHub Desktop.
Generate Random ascii string
void Main()
{
const string chars = "abcdefghijklmnopqrstuvwxyz0123456789";
GenerateUniqueString(8, chars.ToCharArray()).Dump();
}
public static string GenerateUniqueString(int size, char[] chars)
{
var data = new byte[4 * size];
using var crypto = new RNGCryptoServiceProvider();
crypto.GetBytes(data);
var sb = new StringBuilder(size);
for (var i = 0; i < size; i++)
{
var rnd = BitConverter.ToUInt32(data, i * 4);
var idx = rnd % chars.Length;
sb.Append(chars[idx]);
}
return sb.ToString();
}
@guitarrapc
Copy link
Author

sample

GenerateUniqueString(8, chars.ToCharArray())
-> vr8j41t1
-> pc55evum
-> hwnjuxvu
-> zwkcvohr
GenerateUniqueString(8, chars.ToCharArray())
-> ymfl6dosgu42ilxy9od5
-> zn6hdhz1rj7agidh5f3s
-> oxgkzf0v6yvos6drgel5
-> 5xuzbpe2544eldf39nyu

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment