Как - то читал статью по брутфорсу и задумался: "А как делать перебор символов?" Долго искал примеры, но они были очень громоздки, и мне их было сложно понять. Вот на днях нашёл более простой пример. Программа последовательно перебирает все возможные комбинации символов и выводит их на экран.
public static IEnumerable EnumLetter(string alphabet) { foreach (char a in alphabet) yield return "" + a; } public static IEnumerable EnumWord(IEnumerable child, string alphabet) { foreach (string a in child) foreach (string b in EnumLetter(alphabet)) yield return "" + a + b; } static void Main(string[] args) { const string alphabet = "abcdefghijklmnopqrstuvwxyz"; int length = 5; IEnumerable list = EnumLetter(alphabet); for (int i = 0; i < length - 1; i++) list = EnumWord(list, alphabet); foreach (string a in list) Console.WriteLine(a); }Смысл такой - есть строка "ааааа", программа начинает перебирать символы с последнего символа в этой строке. Т.е. было "ааааа", стало "ааааб", затем "аааав" и так делее. Перебираются все символы в строке.
Комментариев нет:
Отправить комментарий