Zum Inhalt springen

Brute Force Alghorithmik


Whitescar

Empfohlene Beiträge

Hi,

ich wollte mir mal einen Brute Force Alghorithmik selber programmieren, ich bin jetzt so weit das ich eine zahl eingebe "123" und mein Programm von 0 bis 123 alles durchprobiert und dann sagt das die Zahl gefunden wurde!

Das klappt soweit doch wenn ich jetzt noch Buchstaben hinzufügen will habe ich meine Probleme:

Wie kann ich in meine while schleife buchstaben mit einbauen? Ich denke es ist das beste wenn ich das eingegebene Passwort z.B."test123" in Strings aufteile t,e,s,t,1,2,3, und diese einzelnt vergleiche!?

aber wie kann ich denn jetzt die buchstaben einbauen, so dass meine schleife von a-z0-9 alles durchprobiert?

Danke greez Whitescar

P.S.: Wenn man irgendwas nicht verstehen kann bitte nachfragen hatte so meine Probleme mit der Formulierung :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Man könnte alle unerlaubten Zahlenkombinationen durch Bereichsprüfung ausgrenzen (also 0x20 erlauben wir von mir aus und dann wird immer nachgeschaut, ob die Zahl zwischen 0x30 & 0x3a, 0x41 bis 0x5a und 0x61 bis 0x7a liegt). Das würde allerdings ständig viele Kontrollabfragen benötigen und den Code unnötig in die Länge ziehen. Bau Dir also lieber ein Array auf, welches die erlaubten Buchstaben enthält und lies diese jeweils aus. So entfallen die Abfragen und die Tabelle kann man x-beliebig erweitern, ändern und austauschen. Ein Vorteil ist es auch, daß man dann nicht unbedingt an die chronologische Reihenfolge der Buchstaben gebunden ist und man die Tabelle auch zufällig mischen könnte um eine bessere Durchschnittslaufzeit bis zum Finden vom gesuchten Wort zu erreichen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Monate später...

Kommt natürlich drauf an, was Du für eine Programmiersprache verwendest und welche Möglichkeiten diese unterstützt.

Unter Visual Basic würde ich mit Strings arbeiten und mit Hilfe von LEFT, RIGHT, MID die einzelnen Zeichen durchgehen (vorher die Länge des Strings ermitteln und dann eine Schleife bauen, die Zeichen für Zeichen durchgeht. Die Ermittlung der Werte geschieht dann über den ASCII-Wert des Zeichens (Hierfür wären dann auch noch innere Schleifen notwendig und zwar je eine für die Zahlenwerte sowie für die Buchstabenwerte).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Einen Bruteforcealgorithmus in Visual Basic ist so effizient wie Braunkohleabbau mit nem Teelöffel. Ausserdem: nicht die Strings vergleichen (die sind langsam), sondern die Speicherbereiche (memcmp etc.)...

Wenn schon Bruteforce würd ich das in Assembler machen.

Gruß

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

Brute Force Algorithmen sind grundsätzlich ineffizient, egal welche Sprache verwendet wird. Ein Wechsel der Sprache bringt praktisch nichts, man sollte den Aufwand besser in einen geeigneten Algorithmus stecken - sofern das möglich ist.

Hast Du mal ein praktisches Beispiel dafür, dass memcmp grundsätzlich schneller ist? Bei einer guten Implementierung gibt es keinen Unterschied, da beide Funktionen auf identischem Code aufbauen.

Nic

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...