Class CryptoRandomFactory

java.lang.Object
org.apache.commons.crypto.random.CryptoRandomFactory

public class CryptoRandomFactory extends Object
Creates CryptoRandom instances
  • Field Details

    • DEVICE_FILE_PATH_KEY

      public static final String DEVICE_FILE_PATH_KEY
      The configuration key of the file path for secure random device.
      See Also:
    • DEVICE_FILE_PATH_DEFAULT

      public static final String DEVICE_FILE_PATH_DEFAULT
      The default value ("/dev/urandom") of the file path for secure random device.
      See Also:
    • JAVA_ALGORITHM_KEY

      public static final String JAVA_ALGORITHM_KEY
      The configuration key of the algorithm of secure random.
      See Also:
    • JAVA_ALGORITHM_DEFAULT

      public static final String JAVA_ALGORITHM_DEFAULT
      The default value ("SHA1PRNG") of the algorithm of secure random.
      See Also:
    • CLASSES_KEY

      public static final String CLASSES_KEY
      The configuration key of the CryptoRandom implementation class.

      The value of the CLASSES_KEY needs to be the full name of a class that implements the CryptoRandom interface The internal classes are listed in the enum RandomProvider which can be used to obtain the full class name.

      The value can also be a comma-separated list of class names in order of descending priority.

      See Also:
    • CLASSES_DEFAULT

      private static final String CLASSES_DEFAULT
      The default value (OPENSSL,JAVA) used when creating a CryptoCipher.
  • Constructor Details

    • CryptoRandomFactory

      private CryptoRandomFactory()
      The private constructor of CryptoRandomFactory.
  • Method Details

    • getCryptoRandom

      public static CryptoRandom getCryptoRandom() throws GeneralSecurityException
      Gets a CryptoRandom instance using the default implementation as defined by CLASSES_DEFAULT
      Returns:
      CryptoRandom the cryptoRandom object.
      Throws:
      GeneralSecurityException - if cannot create the CryptoRandom class
    • getCryptoRandom

      public static CryptoRandom getCryptoRandom(Properties props) throws GeneralSecurityException
      Gets a CryptoRandom instance for specified props. Uses the SECURE_RANDOM_CLASSES_KEY from the provided properties. If it is not set, then it checks the System properties. Failing that, it defaults to OpenSslCryptoRandom,JavaCryptoRandom The properties are passed to the generated class.
      Parameters:
      props - the configuration properties.
      Returns:
      CryptoRandom the cryptoRandom object.
      Throws:
      GeneralSecurityException - if cannot create the CryptoRandom class
      IllegalArgumentException - if no classname(s) are provided
    • getRandomClassString

      private static String getRandomClassString(Properties props)
      Gets the CryptoRandom class.
      Parameters:
      props - The Properties class represents a set of properties.
      Returns:
      the CryptoRandom class based on the props.