2016-05-29 4 views
-5

В настоящее время я вхожу в Pentesting и Ethical Hacking для проверки безопасности веб-сайта.
Я был бы признателен за алгоритм Bruteforce, который хранится в строке. Не алгоритм словаря, а алгоритм грубой силы.
Например, он пробует письмо a. Затем он пробует букву b, затем пытается c и так далее. Заранее спасибо :)Пример Bruteforce Algorithm

ответ

2

Даже если я думаю, что вы действительно должны придумать собственную концепцию для этой проблемы, я хочу дать вам подсказку, как это сделать.

Отказ от ответственности: это самый ленивый, самый медленный и грязный подход, но он выполняет свою работу. НИКОГДА НЕ ИСПОЛЬЗУЙТЕ ЭТО ДЛЯ РЕАЛЬНОЙ СИСТЕМЫ.

Programm.cs

class Program 
{ 
    static void Main(string[] args) 
    { 
     Brutforce b = new Brutforce() 
     { 
      Alphabet = new []{'a', 'b', 'c', 'd'} 
     }; 
     ICollection<string> vals = b.Calculate(3); 
     foreach (var elem in vals) 
      Console.WriteLine(elem); 
     Console.ReadKey(); 
    } 
} 

Brutforce.cs

internal class Brutforce 
{ 
    public ICollection<char> Alphabet { get; set; } 

    private ICollection<string> _calculate(int lenght) 
    { 
     if (lenght <= 1) return Alphabet.Select(a => a + "").ToList(); 
     ICollection<string> sub = _calculate(lenght - 1); 
     return (from alpha in Alphabet from prior in sub select alpha + prior).ToList(); 
    } 

    public ICollection<string> Calculate(int lenght) 
    { 
     return Alphabet == null ? null : _calculate(lenght); 
    } 
}