meine version:
Delphi-Quellcode:
function ran(range:integer):integer;
begin
randomize;
result:=trunc(random(range))
end;
function zahl:string;
var v1,v2,v3,v4,v5:string;
begin
v1:=IntToStr((Ran(8)+1)*10000+Ran(9)*1000+Ran(9)*100+Ran(9)*10+ran(9));
v2:=IntToStr((Ran(8)+1)*10000+Ran(9)*1000+Ran(9)*100+Ran(9)*10+ran(9));
v3:=IntToStr((Ran(8)+1)*10000+Ran(9)*1000+Ran(9)*100+Ran(9)*10+ran(9));
v4:=IntToStr((Ran(8)+1)*10000+Ran(9)*1000+Ran(9)*100+Ran(9)*10+ran(9));
v5:=IntToStr((Ran(8)+1)*10000+Ran(9)*1000+Ran(9)*100+Ran(9)*10+ran(9));
result:=v1+'-'+v2+'-'+v3+'-'+v4+'-'+v5;
end;
das ist wie gesagt, nur die generierung.
die anschließende überprüfung willst du gar nicht sehen, die ist krank (warum einfach, wenn's auch kompliziert geht) aber meiner meinung nach nicht so leicht zu knacken, ein beispiel:
13452-32743-47463-57395-73984 ist die generierung
11598-31729-10767-18434-27217 ist die dazugehörige lösung