wie kann ich in Perl eine Session-ID erzeugen die relativ sicher ist, also nicht vorhergesehen werden kann?
Hi Jan,
also ich mache das immer so:
sub generate_sessionID {
srand(time);
my $sid = rand(10000);
$sid .= substr(time,-5,5);
$sid =~ s/.//g;
while (length($sid) < 20) {$sid =~ s/^/0/}
return $sid;
}
Das gibt dir eine 20 Stellige Zufallszahl aus. Die ersten 15 Stellen sind einfach eine random Zahl und die letzten 5 Stellen schneide ich aus den Sekunden seit 01.01.1970 aus. Es könnte dir 2 identische Session IDs liefern, wenn jemand in der selben Sekund die selbe 15 Stellige Zufallszahl bekommt, aber die Wahrscheinlichkeit daß das passiert ist kleiner also die Spitze eines Haares auf einer Warze auf der linken Arschbacke einer Ameise.
Ich habe noch nie Probleme damit gehabt, aber Verbesserungsvorschläge sind sehr wilkommen.
Gruß
Cruz