diff options
Diffstat (limited to 'gnu/javax/crypto/prng/PRNGFactory.java')
-rw-r--r-- | gnu/javax/crypto/prng/PRNGFactory.java | 66 |
1 files changed, 19 insertions, 47 deletions
diff --git a/gnu/javax/crypto/prng/PRNGFactory.java b/gnu/javax/crypto/prng/PRNGFactory.java index 9ff6558b0..ee75f8d8a 100644 --- a/gnu/javax/crypto/prng/PRNGFactory.java +++ b/gnu/javax/crypto/prng/PRNGFactory.java @@ -40,11 +40,9 @@ package gnu.javax.crypto.prng; import gnu.java.security.Registry; import gnu.java.security.prng.IRandom; - - +import gnu.javax.crypto.mac.HMacFactory; import gnu.javax.crypto.mac.IMac; import gnu.javax.crypto.mac.MacFactory; -import gnu.javax.crypto.mac.HMacFactory; import java.util.Collections; import java.util.HashSet; @@ -52,92 +50,66 @@ import java.util.Iterator; import java.util.Set; /** - * <p>A Factory to instantiate pseudo random number generators.</p> + * A Factory to instantiate pseudo random number generators. */ -public class PRNGFactory implements Registry +public class PRNGFactory + implements Registry { - - // Constants and variables - // ------------------------------------------------------------------------- - - // Constructor(s) - // ------------------------------------------------------------------------- - /** Trivial constructor to enforce <i>Singleton</i> pattern. */ private PRNGFactory() { } - // Class methods - // ------------------------------------------------------------------------- - /** - * <p>Returns an instance of a padding algorithm given its name.</p> - * + * Returns an instance of a padding algorithm given its name. + * * @param prng the case-insensitive name of the PRNG. * @return an instance of the pseudo-random number generator. * @exception InternalError if the implementation does not pass its self- - * test. + * test. */ public static IRandom getInstance(String prng) { if (prng == null) - { - return null; - } - + return null; prng = prng.trim(); IRandom result = null; if (prng.equalsIgnoreCase(ARCFOUR_PRNG) || prng.equalsIgnoreCase(RC4_PRNG)) - { - result = new ARCFour(); - } + result = new ARCFour(); else if (prng.equalsIgnoreCase(ICM_PRNG)) - { - result = new ICMGenerator(); - } + result = new ICMGenerator(); else if (prng.equalsIgnoreCase(UMAC_PRNG)) - { - result = new UMacGenerator(); - } + result = new UMacGenerator(); else if (prng.toLowerCase().startsWith(PBKDF2_PRNG_PREFIX)) { String macName = prng.substring(PBKDF2_PRNG_PREFIX.length()); IMac mac = MacFactory.getInstance(macName); if (mac == null) - { - return null; - } + return null; result = new PBKDF2(mac); } if (result != null) return result; - return gnu.java.security.prng.PRNGFactory.getInstance (prng); + return gnu.java.security.prng.PRNGFactory.getInstance(prng); } /** - * <p>Returns a {@link Set} of names of padding algorithms supported by this - * <i>Factory</i>.</p> - * + * Returns a {@link Set} of names of padding algorithms supported by this + * <i>Factory</i>. + * * @return a {@link Set} of pseudo-random number generator algorithm names - * (Strings). + * (Strings). */ public static Set getNames() { - HashSet hs = new HashSet (gnu.java.security.prng.PRNGFactory.getNames ()); + HashSet hs = new HashSet(gnu.java.security.prng.PRNGFactory.getNames()); hs.add(ICM_PRNG); hs.add(UMAC_PRNG); // add all hmac implementations as candidate PBKDF2 ones too for (Iterator it = HMacFactory.getNames().iterator(); it.hasNext();) - { - hs.add(PBKDF2_PRNG_PREFIX + ((String) it.next())); - } - + hs.add(PBKDF2_PRNG_PREFIX + ((String) it.next())); return Collections.unmodifiableSet(hs); } - - // Instance methods - // ------------------------------------------------------------------------- } |