private static Random r = new Random();
private static string numbers = "0123456789";
private static string words = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
public static void Main()
var key = GetFirstSection() + "-" + GetSecondSection() + "-" + GetThirdSection();
Console.WriteLine(key.ToUpper());
private static string GetFirstSection()
return GetRandomNumber() + GetRandomWord() + GetRandomNumber() + GetRandomWord();
private static string GetSecondSection()
var character = GetRandomCharacter();
var doubleCharacter = character + character;
section = doubleCharacter + GetRandomCharacter() + GetRandomCharacter();
section = GetRandomCharacter() + doubleCharacter + GetRandomCharacter();
section = GetRandomCharacter() + GetRandomCharacter() + doubleCharacter;
private static string GetRandomNumber() => numbers[r.Next(numbers.Length)].ToString();
private static string GetRandomWord() => words[r.Next(words.Length)].ToString();
private static string GetRandomCharacter()
return GetRandomNumber();
private static string GetThirdSection()
return GetRandomNumber() + GetRandomCharacter();