Как сделать полный перебор паролей от "A" до "Z" включая цифры? - C#
Формулировка задачи:
Здравствуйте. У меня возник такой вопрос: как сделать полный перебор паролей от "A" до "Z" включая цифры?
Т.е. программа пробует все варианты, например:
1- "A"
2- "B"
...
N- "ABCD"
N2- "ABCDE"
...
X- "adshj54"
X2- "adshj55"
До того момента, пока пароль не будет Валидным.
Пытался что-то сделать, вышло:
Но не то. Помогите пожалуйста.
int i = 0;
char[] alf =
{
'a','b','c','d','e','f','g','h','i','j','k','l','m',
'n','o','p','q','r','s','t','u','v','w','x','y','z'
};
for (a = 0; a <= 5; a++)
{
s.Replace(s[a], alf[a]);
}
this.s = s;Решение задачи: «Как сделать полный перебор паролей от "A" до "Z" включая цифры?»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApplication173
{
class Program
{
static void Main(string[] args)
{
var chars = "abcdABCD1234";
foreach (var pass in GetCombinations(chars.ToArray(), 3))
Console.WriteLine(pass);
Console.ReadLine();
}
private static IEnumerable<string> GetCombinations(char[] chars, int maxLength)
{
if(maxLength <= 0)
yield break;
foreach(var c in chars)
{
yield return c.ToString();
foreach (var child in GetCombinations(chars, maxLength - 1))
yield return c + child;
}
}
}
}