org.jboss.web.tomcat.tc5.session
Class SessionIDGenerator

java.lang.Object
  extended byorg.jboss.web.tomcat.tc5.session.SessionIDGenerator

public class SessionIDGenerator
extends java.lang.Object

Unique session id generator


Field Summary
protected  java.security.MessageDigest digest
           
protected  Logger (src) log
           
protected  java.util.Random random
           
protected static SessionIDGenerator (src) s_
           
protected static int SESSION_ID_BYTES
           
protected static java.lang.String SESSION_ID_HASH_ALGORITHM
           
protected static java.lang.String SESSION_ID_RANDOM_ALGORITHM
           
protected static java.lang.String SESSION_ID_RANDOM_ALGORITHM_ALT
           
protected  java.lang.String sessionIdAlphabet
           
 
Constructor Summary
SessionIDGenerator()
           
 
Method Summary
protected  void checkDuplicateChars(java.lang.String sessionIdAlphabet)
           
protected  java.lang.String encode(byte[] data)
          Encode the bytes into a String with a slightly modified Base64-algorithm This code was written by Kevin Kelley and adapted by Thomas Peuss
protected  java.lang.String generateSessionId()
          Generate a session-id that is not guessable
protected  java.security.MessageDigest getDigest()
          get a MessageDigest hash-generator
static SessionIDGenerator (src) getInstance()
           
protected  java.util.Random getRandom()
          get a random-number generator
 java.lang.String getSessionId()
           
 java.lang.String getSessionIdAlphabet()
          The SessionIdAlphabet is the set of characters used to create a session Id
 void setSessionIdAlphabet(java.lang.String sessionIdAlphabet)
          The SessionIdAlphabet is the set of characters used to create a session Id
protected  boolean uniqueChar(char c, java.lang.String s)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SESSION_ID_BYTES

protected static final int SESSION_ID_BYTES
See Also:
Constant Field Values (src)

SESSION_ID_HASH_ALGORITHM

protected static final java.lang.String SESSION_ID_HASH_ALGORITHM
See Also:
Constant Field Values (src)

SESSION_ID_RANDOM_ALGORITHM

protected static final java.lang.String SESSION_ID_RANDOM_ALGORITHM
See Also:
Constant Field Values (src)

SESSION_ID_RANDOM_ALGORITHM_ALT

protected static final java.lang.String SESSION_ID_RANDOM_ALGORITHM_ALT
See Also:
Constant Field Values (src)

log

protected Logger (src)  log

digest

protected java.security.MessageDigest digest

random

protected java.util.Random random

s_

protected static SessionIDGenerator (src)  s_

sessionIdAlphabet

protected java.lang.String sessionIdAlphabet
Constructor Detail

SessionIDGenerator

public SessionIDGenerator()
Method Detail

getInstance

public static SessionIDGenerator (src)  getInstance()

setSessionIdAlphabet

public void setSessionIdAlphabet(java.lang.String sessionIdAlphabet)
The SessionIdAlphabet is the set of characters used to create a session Id


checkDuplicateChars

protected void checkDuplicateChars(java.lang.String sessionIdAlphabet)

uniqueChar

protected boolean uniqueChar(char c,
                             java.lang.String s)

getSessionIdAlphabet

public java.lang.String getSessionIdAlphabet()
The SessionIdAlphabet is the set of characters used to create a session Id


getSessionId

public java.lang.String getSessionId()

generateSessionId

protected java.lang.String generateSessionId()
Generate a session-id that is not guessable

Returns:
generated session-id

encode

protected java.lang.String encode(byte[] data)
Encode the bytes into a String with a slightly modified Base64-algorithm This code was written by Kevin Kelley and adapted by Thomas Peuss

Parameters:
data - The bytes you want to encode
Returns:
the encoded String

getRandom

protected java.util.Random getRandom()
get a random-number generator

Returns:
a random-number generator

getDigest

protected java.security.MessageDigest getDigest()
get a MessageDigest hash-generator

Returns:
a hash generator