Whitescar Geschrieben 19. Januar 2003 Teilen Geschrieben 19. Januar 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Whitescar Geschrieben 19. Januar 2003 Autor Teilen Geschrieben 19. Januar 2003 wenn dieser text nicht den board regeln entspricht dann bitte löschen danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crush Geschrieben 19. Januar 2003 Teilen Geschrieben 19. Januar 2003 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Whitescar Geschrieben 19. Januar 2003 Autor Teilen Geschrieben 19. Januar 2003 ok danke das hat mich schon sehr viel weiter gebracht ich versuchs mal mit arrays Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Nalimov Geschrieben 7. April 2003 Teilen Geschrieben 7. April 2003 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). Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Langnese Geschrieben 8. April 2003 Teilen Geschrieben 8. April 2003 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ß Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nic_power Geschrieben 8. April 2003 Teilen Geschrieben 8. April 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.