line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
2
|
|
|
2
|
|
1768
|
use warnings; |
|
2
|
|
|
|
|
6
|
|
|
2
|
|
|
|
|
65
|
|
2
|
2
|
|
|
2
|
|
10
|
use strict; |
|
2
|
|
|
|
|
4
|
|
|
2
|
|
|
|
|
56
|
|
3
|
|
|
|
|
|
|
|
4
|
|
|
|
|
|
|
package HTTP::Session::ID::MD5; |
5
|
2
|
|
|
2
|
|
11
|
use Digest::MD5 (); |
|
2
|
|
|
|
|
4
|
|
|
2
|
|
|
|
|
24
|
|
6
|
2
|
|
|
2
|
|
1003
|
use Time::HiRes (); |
|
2
|
|
|
|
|
2682
|
|
|
2
|
|
|
|
|
183
|
|
7
|
|
|
|
|
|
|
|
8
|
|
|
|
|
|
|
# Digest::MD5 was first released with perl 5.007003 |
9
|
|
|
|
|
|
|
|
10
|
|
|
|
|
|
|
sub generate_id { |
11
|
4
|
|
|
4
|
0
|
28
|
my ($class, $sid_length) = @_; |
12
|
4
|
|
33
|
|
|
103
|
my $unique = $ENV{UNIQUE_ID} || ( [] . rand() ); |
13
|
4
|
|
|
|
|
84
|
return substr( Digest::MD5::md5_hex( Time::HiRes::gettimeofday() . $unique ), 0, $sid_length ); |
14
|
|
|
|
|
|
|
} |
15
|
|
|
|
|
|
|
|
16
|
|
|
|
|
|
|
1; |