| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: Buchstabensalat / Brutforce im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hi, ich wollte ein Tool schreiben, dass aus einem String mit Buchstabensalat alle möglichen Zeichenketten, die man aus den ...
![]() |
| | #1 (permalink) |
| Anzeige Hi, ich wollte ein Tool schreiben, dass aus einem String mit Buchstabensalat alle möglichen Zeichenketten, die man aus den Buchstaben zusammensetzen kann generiert, und in eine Liste schreibt. Ich hab zwar die Buchstaben schon auf ein array verteilt, aber mir fällt einfach keine logik dahinter ein, die ich einsetzen könnte. Hat jemand nen Tip? | |
| | |
| | #2 (permalink) |
| soll das Ergebnis ein sinnvolles Wort sein oder die Buchstaben einfach nur nacheinander gereiht? wenn es sinnvolle Wörter egeben soll, brauchst du ein Wörterbuch (und das wird schwer) indem schon ganz ganz ganz viele Wörter stehen, die du mit dem Buchstabensalat vergleichst und schaust ob alle Buchstaben aus dem "Salat" auch in irgendeinem (oder mehreren) Wort aus dem Wörterbuch enthalten ist (sind). wenn es einfach nur eine Aneinanderreihung sein soll: am besten lässt du den String mit dem Buchstabensalat in ein Char Array umwandeln (also bei java geht das ganz einfach) und jenachdem wie viele Stellen dein Ergebnis String haben soll gehst du alle chars aus deinem Array, für jede Stelle, durch also z.B. wenn dein Buchstabensalat_Array n Zeichen hat und k Zeichen lang sein soll Stelle 1: Buchstabensalat_Array[0] bis Buchstabensalat_Array[n] Stelle 2: Buchstabensalat_Array[0] bis Buchstabensalat_Array[n] . . . Stelle k: Buchstabensalat_Array[0] bis Buchstabensalat_Array[n] aber ich denke da bist du bestimmt auch selber draug gekommen :-) nur das auf die platte schreiben ist so ne sache. hab auch mal 6 stelleige Strings mit nur klein Buchstaben erzeugen lassen und diese einfach in eine Textdatei schreiben lassen (mit Java) da war ich sehr schnell über 4 GB Dateigröße und habe noch lange nicht alle Stings erzeugt. wenn du bedenkst: 6(stellen) ^ 26 (buchstaben) = 170581728179578208256 mögliche Strings das ist ne ganze Menge! | |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter | Also nochmal. n beispiel. der buschstabensalat ist z.B. smua und dann soll das skript ne liste mit folegnden werten ausgeben smau saum suam masu msau maus usam uasm umas ausm amus aums (...) Aber wie mach ich das jetzt, dass er z.B. wie im beispiel von Benwilliam nicht irgendwelche zeichen zweimal verwendet. Ich mein mit ner fixen zeichenlänge wär das kein ding, da ich dann entsprechernd viele secundärschleifen erstellen könnte. |
| | |
| | #4 (permalink) |
| Member of Honour ![]() Registriert seit: 28.05.03 ![]() Likes: 1 | hier mal ein entsprechende java code: Code: public class BruteForce {
public static void main(String[] arg) {
String word = "test";
String charset;
// charset = entferneDoppelteBuchstaben(word);
charset = "tes";
int wordLength = word.length();
BruteForceAlgo(charset, wordLength);
}
public static void BruteForceAlgo(final String charset, final int wordLength) {
long startw = 0;
final long endw = (long)Math.pow(charset.length(), (double)wordLength);
StringBuffer s;
while(startw < endw) {
s = new StringBuffer("");
long mw = startw;
for (int i=wordLength; i>=0; i--) {
long d = (long)Math.pow(charset.length(), (double)i);
int w = (int)(mw/d);
if (i==wordLength) {
if (w!=0) s.append(charset.charAt(w));
}
else s.append(charset.charAt(w));
mw = mw-(w*d);
}
System.out.println(s);
startw++;
}
}
}
__________________ http://livehabo.hackerboard.de | http://livebb.sourceforge.net |
| | |
| | #5 (permalink) |
| ich glaube das ist genau das was der nicht haben will ![]() mit dem algo wird jede stelle mit jedem zeichen belegt -> doppelte verwendung der Zeichen, und das will der ja nicht ich denke Rekursion ist ein guter Ansatz :-) | |
| | |
| | #7 (permalink) |
| Member of Honour ![]() Registriert seit: 28.05.03 ![]() Likes: 1 | axo dann habe ich das falsch verstanden. also will flame quasi nen anagramm generator, wie DolphVS schon richtig meint.
__________________ http://livehabo.hackerboard.de | http://livebb.sourceforge.net |
| | |
| | #8 (permalink) | |
| Themenstarter | Zitat:
Ja genau, so in der art eines anagramms, nur dass das script ne ganze liste mit möglickieten ausgeben soll. ohne drauf zu achten, dass das durch die umstellung Tatsächlich ein neuer sinn entsteht. Der Algoritmus siht interessant aus, aber ich versteh ihn nicht so ganz, könntest du das noch komentieren. | |
| | |
| | #9 (permalink) |
| der zuvor gepostete Algorithmus macht nicht nur Annagrame sondern alle möglichen variationen der Buchstaben aber hier findest du Beispiel Algorithmus in PASCAL | |
| | |
| | #10 (permalink) |
| Registriert seit: 13.03.05 ![]() Likes: 0 | In der C++-Standard-Library ALGORITHM gibt es u.a. folgende PERMUTATIONS-Funktionen: prev_permutation() next_permutation() Diese treffen exakt auf dein Problem zu und sind bereits auf Geschwindigkeit optimiert. Vllt. werde ich diese Funktionen ebenfalls bald in mein eigenes Bruteforce-Tool einbauen. Und wenn du den Code meines Tools haben willst - sag Bescheid (Cryptography & Encryption > Mein eigenes Bruteforce-Tool). MfG, BattleMaker |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| md5 ohne Brutforce | ToxicJetzt! | Cryptography & Encryption | 28 | 26.07.06 19:28 |