public static void CyrillicSwap(string latinString) { Console.OutputEncoding = Encoding.UTF8; Dictionary<string, string> CyrDict = new Dictionary<string, string>() { {"a", "а"}, // \u0430 {"c", "с"}, // \u0441 {"e", "е"}, // \u0435 {"o", "о"}, // \u043e {"p", "р"}, // \u0440 {"x", "х"}, // \u0445 {"y", "у"}, // \u0443 {"A", "А"}, // \u0410 {"B", "В"}, // \u0412 {"C", "С"}, // \u0421 {"H", "Н"}, // \u041d {"E", "Е"}, // \u0415 {"K", "К"}, // \u041a {"M", "М"}, // \u041c {"O", "О"}, // \u041e {"P", "Р"} // \u0420 }; Random rand = new Random(); StringBuilder str = new StringBuilder(latinString); foreach (KeyValuePair<string, string> r in CyrDict) { if (rand.Next(0, 2) == 0) { Console.WriteLine("Swapping {0}", r.Key); str.Replace(r.Key, r.Value); } } Console.WriteLine(); Console.WriteLine("[+] Substitued Cyrillic Output:"); Console.WriteLine("-------------------------------"); Console.WriteLine(str); }