The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use warnings;
use strict;

package HTTP::Session::ID::SHA1;
use Digest::SHA1 ();
use Time::HiRes  ();

sub generate_id {
    my ($class, $sid_length) = @_;
    my $unique = $ENV{UNIQUE_ID} || ( [] . rand() );
    return substr( Digest::SHA1::sha1_hex( Time::HiRes::gettimeofday() . $unique ), 0, $sid_length );
}

1;