Session::Token von Doug Hoyte bietet eine sichere, schnelle und wirklich einfach zu nutzende Schnittstelle um Session IDs, Zufallspasswörter, zufällige Identifier, Reset Codes für Passwörter und vieles mehr zu erzeugen.
Beispiele: Zufällige Session Token
Das folgende Beispiel erzeugt einen zufälligen String mit mindestens 128 Bit Entropie.
#!/usr/bin/perl use strict; use warnings; use Session::Token; my $token = Session::Token->new->get; print "Token: $token\n";
Das Programm erzeugt folgende Ausgabe:
Token: 2sSNJqxSf2U3lP2by9fRfs
Die Mindestentropie des zufälligen Tokens lässt sich über den Parameter entropy einstellen:
#!/usr/bin/perl use strict; use warnings; use Session::Token; my $token = Session::Token->new(entropy => 256)->get; print "Token: $token\n";
Das Programm erzeugt folgende Ausgabe:
Token: PA5M2r9XOMl7i8scMAaLo7KiBPFu2QH1jqP6huqId0N
Falls mehrere Tokens benötigt werden, bietet sich aus Effizienzgründen, die einmalige Erzeugung eines Generators an, der wiederholt zur Erzeugung zufälliger Token aufgerufen wird.
#!/usr/bin/perl use strict; use warnings; use Session::Token; my $generator = Session::Token->new; my $token = $generator->get; print "Token: $token\n";
Beispiele: Zufallspasswort
Die Länge des zufälligen Passworts kann über den Parameter length eingestellt werden.
#!/usr/bin/perl use strict; use warnings; use Session::Token; my $token = Session::Token->new( length => 8 )->get; print "Token: $token\n";
Das Programm erzeugt folgende Ausgabe:
Token: zJPtFyyH
Wem das voreingestellte Alphabet nicht genügt, kann ein eigenes über den Parameter alphabet einstellen.
#!/usr/bin/perl use strict; use warnings; use Session::Token; my $token = Session::Token->new( length => 8, alphabet => 'ABCDEFGHIJKLMNOPQRSTUVW1234567890!"§$%&/()=?' )->get; print "Token: $token\n";
Das Programm erzeugt folgende Ausgabe:
Token: H/VJ)G/6
Siehe auch
- Session::Token - Secure, efficient, simple random session token generation
- Neil Bowers: CPAN modules for generating passwords
- ISAAC: a fast cryptographic random number generator
- The Session::Token github repo
Jetzt kommentieren