#!/usr/bin/perl
use strict;
use Digest::MD5 qw(md5_hex); 

# Session ID erstellen
my $session_id;

$session_id = &make_session_id;
print "Session_ID: $session_id\n";  
 
sub make_session_id 
  {
  # $id = &make_session_id();
  # Erzeugt eine kryptographisch starke zufaellige Session ID.
  # Zurueckgegeben werden Hexadezimal-Zeichen

  my $len = 64;
  my @session_chars = ('A' .. 'Z', 'a' .. 'z', 0 .. 9, '+', '-');
  my $id = '';
  my $i;

  $id .= time();
  $id .= $$;
  for($i=0;$i<$len;$i++)
    { $id .= $session_chars[int(rand(64))]; }
  $id = substr($id,0,$len);
  $id = md5_hex($id);
  return $id;
  }
 
