org.springframework.security.core.token
Class SecureRandomFactoryBean

java.lang.Object
  extended by org.springframework.security.core.token.SecureRandomFactoryBean
All Implemented Interfaces:
FactoryBean<SecureRandom>

public class SecureRandomFactoryBean
extends Object
implements FactoryBean<SecureRandom>

Creates a SecureRandom instance.

Since:
2.0.1

Constructor Summary
SecureRandomFactoryBean()
           
 
Method Summary
 SecureRandom getObject()
           
 Class<SecureRandom> getObjectType()
           
 boolean isSingleton()
           
 void setAlgorithm(String algorithm)
          Allows the Pseudo Random Number Generator (PRNG) algorithm to be nominated.
 void setSeed(Resource seed)
          Allows the user to specify a resource which will act as a seed for the SecureRandom instance.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SecureRandomFactoryBean

public SecureRandomFactoryBean()
Method Detail

getObject

public SecureRandom getObject()
                       throws Exception
Specified by:
getObject in interface FactoryBean<SecureRandom>
Throws:
Exception

getObjectType

public Class<SecureRandom> getObjectType()
Specified by:
getObjectType in interface FactoryBean<SecureRandom>

isSingleton

public boolean isSingleton()
Specified by:
isSingleton in interface FactoryBean<SecureRandom>

setAlgorithm

public void setAlgorithm(String algorithm)
Allows the Pseudo Random Number Generator (PRNG) algorithm to be nominated. Defaults to "SHA1PRNG".

Parameters:
algorithm - to use (mandatory)

setSeed

public void setSeed(Resource seed)
Allows the user to specify a resource which will act as a seed for the SecureRandom instance. Specifically, the resource will be read into an InputStream and those bytes presented to the SecureRandom.setSeed(byte[]) method. Note that this will simply supplement, rather than replace, the existing seed. As such, it is always safe to set a seed using this method (it never reduces randomness).

Parameters:
seed - to use, or null if no additional seeding is needed