[
ot]Ich mag Satzzeichen
[/
ot]
Ich kann auch die schon erwähnte TBruteforce empfehlen. Ist ziemlich schnell und trivial zu bedienen.
Ansonsten habe ich noch das in meiner Codeschnipsel.pas gefunden. Leider habe ich anscheinend bereits Kommentare zum Autor gelöscht, kann diesen also nicht mehr nennen, bitte verzeiht mir
Delphi-Quellcode:
function bruteforce(astring,substr:string;startlen,endlen:integer):boolean;
var
//count variables
i,n,x:integer;
//current password
npw:string;
label
//used for looping
step1;
begin
//clear all stringlists
hlplst.clear;
cluster.clear;
results.clear;
//fill the helplist with the charrange
for x:=1 to length(substr) do
hlplst.add(substr[x]);
//begin the loop
step1:
//start combining the letters in the charrange
for i:=0 to hlplst.count-1 do
for n:=1 to length(astring) do
begin
//combine one letter in the helplists with another
npw:=hlplst.strings[i]+astring[i];
//add it to the cluster
cluster.add(npw);
//if its longer then the startlength, then add it do the results
if length(npw)>=startlen then results.add(npw);
end;
//clear the helplist
hlplst.clear;
//and fill it with the cluster
hlplst.addstrings(cluster);
//clear the cluster
cluster.clear;
//and repeat those steps if not all possible combinations have been added
if length(npw)+1<=endlen then goto step1;
//clear the helplist
hlplst.clear;
//(just for debugging)
result:=true;
end;
Wird so aufgerufen:
bruteforce('abcd','abcd',2,6)