![]() |
alle Kombinationen 00000000..ZZZZZZZZ in textfile?
hoi
kann mir jemand nen tip geben wie ich alle 8stelligen kombinationen von 0 bis Z in eine textdatei bekomme? da es 100emillionen von kombinationen sind kann ich sie nicht mit handschreiben :| |
Re: alle Kombinationen 00000000..ZZZZZZZZ in textfile?
Delphi-Quellcode:
Brauchst nur noch das Const-Array (Z) so erweitern, das alle Zeichen vorhanden sind die du benötigst.
Const Z: Array[0..11] of Char = ('0', '1', '2', '7', '8', '9',
'A', 'B', 'C', 'X', 'Y', 'Z'); Var s1, s2, s3, s4, s5, s6, s7, s8: Byte; D: TextFile; Begin AssignFile(D, 'Datei.txt'); Rewrite(D); For s1 := 0 to High(Z) do For s2 := 0 to High(Z) do For s3 := 0 to High(Z) do For s4 := 0 to High(Z) do For s5 := 0 to High(Z) do For s6 := 0 to High(Z) do For s7 := 0 to High(Z) do For s8 := 0 to High(Z) do WriteLn(D, Z[s1] + Z[s2] + Z[s3] + Z[s4] + Z[s5] + Z[s6] + Z[s7] + Z[s8]); CloseFile(D); End; |
Re: alle Kombinationen 00000000..ZZZZZZZZ in textfile?
Heftig... Ich hab das mal gemacht und bei der einfachen Version irgendwann mal beendent als die Datei 709 MB groß war!
:shock: :shock: :shock: Wie sieht das erst bei allen Kombinationen aus? Ich glaube kaum, dass man diese Datei jemals wieder mit einem editor öffnen kann! |
Re: alle Kombinationen 00000000..ZZZZZZZZ in textfile?
Moin Silent,
ich nehme mal an, dass Du alle Zeichen von 0 bis 9 gefolgt von A bis Z als Zeichen haben willst. Dann wäre die Textdatei, wenn jede 8 Zeichen lange Kombination als einzelne Zeile gespeichert werden soll (also +#13#10 je Zeile) genau 28.211.099.074.560 Byte > 25 Terabyte. (26273 GB) Ich vermute mal, dass Du "leichte" Probleme mit der Plattenkapazität bekommst ;-) So könntest Du es machen:
Delphi-Quellcode:
Ich hab' einen Abbruchbutton vorgesehen.
procedure TForm1.Button1Click(Sender: TObject);
var sLine : string; iDigit : integer; begin fCancel := false; sLine := '00000000'; // Stellenzahl beachten Memo1.Lines.Clear; while sLine <> 'ZZZZZZZZ' do begin // Stellenzahl beachten if fCancel then exit; Memo1.Lines.Add(sLine); Application.ProcessMessages; iDigit := 8; // Stellenzahl beachten while iDigit > 0 do begin if sLine[iDigit] = '9' then begin sLine[iDigit] := 'A'; break; end; if sLine[iDigit] = 'Z' then begin sLine[iDigit] := '0'; dec(iDigit); if iDigit = 0 then exit; continue; end; if sLine[iDigit] <> 'Z' then begin sLine[iDigit] := chr(ord(sLine[iDigit])+1); break; end; end; Memo1.Lines.Add(sLine); end; end; procedure TForm1.Button2Click(Sender: TObject); begin fCancel := true; end; Ausserdem hab' ich mal die Zeilen markiert, die für die Anzahl der Stellen wichtig wären. |
Re: alle Kombinationen 00000000..ZZZZZZZZ in textfile?
Hi Christian,
warst ein bissel schneller, hast es aber auf den Punkt gebracht. In ein Memo1 passt noch weniger rein, da ist doch schon bei 2 GB Schluß. :zwinker: @axelf98, keine Geduld? (709 MB) Die ~4 GB hätteste doch wenigstens durchlaufen lassen können. |
Re: alle Kombinationen 00000000..ZZZZZZZZ in textfile?
Hallo Silent!
Hiermit möchte ich meinen allerherzlichsten Glückwunsch zum 7-Millionen-Euro-Lottogewinn ausdrücken :mrgreen: :firejump: :wiejetzt: Wenn Du nämlich alle Kombinationen aus 0..9 und A..Z (nur Großbuchstaben) schreiben willst, sind das 36 Möglichkeiten pro Stelle, bei 8 Stellen also 36 hoch 8 Zeilen, ca. 2,8 mal 10 hoch 12. Jede Zeile belegt 10 Zeichen (8 Stellen + CR + LF als Zeilentrenner). Damit errechne ich einen Speicherbedarf von ca. 26 TerraByte - mit 7 Millionen im Rücken kannst Du Dir eine solche Platte locker leisten und auch den für eine halbwegs passable Ausführungsgeschwindigkeit nötigen Prozzi mit mindestens 300 GigaHertz Taktfrequenz :mrgreen: :mrgreen: :mrgreen: Ach ja, nochwas: Mit welchem Programm willst Du das Monster denn weiterverarbeiten? :gruebel: :?: Ganz nebenbei werde ich Strafantrag stellen - schwere Körperverletzung durch vorsätzliches Herbeiführen eines Lachkrampfes. Schmerzensgeld und Ersatz für die beim Auf-dem-Boden-Wälzen zu Bruch gegangene Wohnungseinrichtung fordere ich selbstverständlich auch! :wall: :mrgreen: Gruß Dietmar Brüggendiek |
Re: alle Kombinationen 00000000..ZZZZZZZZ in textfile?
hoi @all
danke für die codes, ...und die infos ^^...hmm 25 terrabyte für ein paar millionen zeilen? das ist aber viel |
Re: alle Kombinationen 00000000..ZZZZZZZZ in textfile?
Moin Silent,
Zitat:
|
Re: alle Kombinationen 00000000..ZZZZZZZZ in textfile?
omg :mrgreen:
hm, wie funzen denn brute forcer z.b(hab nicht vor einen zu machen(würd ich auch nicht können :roll:)) ? haben die nur paar tausend wörter, oder wie geht das da ab? |
Re: alle Kombinationen 00000000..ZZZZZZZZ in textfile?
Moin Silent,
die erzeugen dafür keine Datei, sondern probieren direkt durch. Da bist Du dann von der Anzahl her auch nicht eingeschränkt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz