Ich habe hioer noch eine ähnliche Variante:
Delphi-Quellcode:
var x: Cardinal;
function MyRandom: Cardinal;
begin
x:= (45*x+853) mod 1024;
Result:= x;
end;
procedure RandomInit(start: Cardinal);
begin
x:= start;
end;
Diese Funktion erzeugt zwar nur Zufallszahlen von 0 bis 1023, und nach 1024 Aufrufen beginnt die Folge wieder von vorn. Aber dafür sind die Zahlen gleichverteilt, es kommt in 1024 Aufrufen dieser Funktion jede der Zahlen von 0..1023 einmal als Ergebnis. Ebenso erhält man damit stets die gleiche Zufallszahlenfolge, wenn man den gleichen Startwert angibt (ist ja logisch). Damit kann man die Zahlenfolge auch für eine Verschlüsselung nehmen.
MfG
Binärbaum