org.opensaml.common.impl
Class SecureRandomIdentifierGenerator

java.lang.Object
  extended by org.opensaml.common.impl.SecureRandomIdentifierGenerator
All Implemented Interfaces:
IdentifierGenerator

public class SecureRandomIdentifierGenerator
extends Object
implements IdentifierGenerator

Generates identifiers using random data obtained from a SecureRandom instance.


Field Summary
private static SecureRandom random
          Random number generator.
 
Constructor Summary
SecureRandomIdentifierGenerator()
          Constructor.
SecureRandomIdentifierGenerator(String algorithm)
          Constructor.
 
Method Summary
 String generateIdentifier()
          Generates a 16 byte identifier.
 String generateIdentifier(int size)
          Generates a random identifier.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

random

private static SecureRandom random
Random number generator.

Constructor Detail

SecureRandomIdentifierGenerator

public SecureRandomIdentifierGenerator()
                                throws NoSuchAlgorithmException
Constructor.

Throws:
NoSuchAlgorithmException - thrown if the SHA1PRNG algorithm is not supported by the JVM

SecureRandomIdentifierGenerator

public SecureRandomIdentifierGenerator(String algorithm)
                                throws NoSuchAlgorithmException
Constructor.

Parameters:
algorithm - the random number generation algorithm to use
Throws:
NoSuchAlgorithmException - thrown if the algorithm is not supported by the JVM
Method Detail

generateIdentifier

public String generateIdentifier()
Generates a 16 byte identifier.

Specified by:
generateIdentifier in interface IdentifierGenerator
Returns:
an hex encoded identifier

generateIdentifier

public String generateIdentifier(int size)
Generates a random identifier.

Specified by:
generateIdentifier in interface IdentifierGenerator
Parameters:
size - number of bytes in the identifier
Returns:
the hex encoded identifier


Copyright © 1999-2013. All Rights Reserved.