Brute Force, подобрать пароль по длине
Есть пароль состоящий из букв и цифр, мне нужно подобрать его. В конце нужно чтобы выводил строку с этим паролем. Пытался найти, ничего подобного не нашел(именно чтобы строка была)
Пробовал:
IEnumerable<string> Strings()
{
var digits = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
var chars = Enumerable.Range((int)'A', (int)'Z' - (int)'A' + 1).Select(i => (char)i).ToArray();
for (var c = 0L; c < Math.Pow(chars.Length, 5); ++c)
{
var cstr = chars[(c / (chars.Length * chars.Length * chars.Length * chars.Length) % chars.Length)].ToString()
+ chars[(c / (chars.Length * chars.Length * chars.Length) % chars.Length)]
+ chars[(c / (chars.Length * chars.Length) % chars.Length)]
+ chars[(c / (chars.Length) % chars.Length)]
+ chars[(c % chars.Length)];
for (var i = 0L; i < 999; ++i)
{
var istr = (i / 100 % 10).ToString()
+ (i / 10 % 10).ToString()
+ (i % 10).ToString();
var str = cstr.Substring(0, 2) + istr.Substring(0, 1) + cstr.Substring(2, 2) + istr.Substring(1, 1) + cstr.Substring(4, 1) + istr.Substring(2, 1);
yield return str;
}
}
}
и этот https://programmera.ru/csharp-lessons/algoritm-brute-force-v-c/
Но тут я кода вообще не понял, и как заменить на мое значение пароля
Ответы (1 шт):
Автор решения: vazgen5678
→ Ссылка
Нашел на дне гугла нужный мне код
int Main()
{
for (int i = 0; i < 16; i++)
{
foreach (var Password in GetCombinations(pf.CharList.ToArray(), i))
Console.WriteLine(Password);
}
}
private static IEnumerable<string> GetCombinations(char[] Chars, int MaximumLength)
{
if (MaximumLength < 1)
yield break;
foreach (var a in Chars)
{
yield return a.ToString();
foreach (var b in GetCombinations(Chars, MaximumLength - 1))
yield return a + b;
}
}