Imported GNU Classpath 0.92
2006-08-14 Mark Wielaard <mark@klomp.org> Imported GNU Classpath 0.92 * HACKING: Add more importing hints. Update automake version requirement. * configure.ac (gconf-peer): New enable AC argument. Add --disable-gconf-peer and --enable-default-preferences-peer to classpath configure when gconf is disabled. * scripts/makemake.tcl: Set gnu/java/util/prefs/gconf and gnu/java/awt/dnd/peer/gtk to bc. Classify gnu/java/security/Configuration.java as generated source file. * gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java, gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java, gnu/java/lang/management/VMClassLoadingMXBeanImpl.java, gnu/java/lang/management/VMRuntimeMXBeanImpl.java, gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java, gnu/java/lang/management/VMThreadMXBeanImpl.java, gnu/java/lang/management/VMMemoryMXBeanImpl.java, gnu/java/lang/management/VMCompilationMXBeanImpl.java: New VM stub classes. * java/lang/management/VMManagementFactory.java: Likewise. * java/net/VMURLConnection.java: Likewise. * gnu/java/nio/VMChannel.java: Likewise. * java/lang/Thread.java (getState): Add stub implementation. * java/lang/Class.java (isEnum): Likewise. * java/lang/Class.h (isEnum): Likewise. * gnu/awt/xlib/XToolkit.java (getClasspathTextLayoutPeer): Removed. * javax/naming/spi/NamingManager.java: New override for StackWalker functionality. * configure, sources.am, Makefile.in, gcj/Makefile.in, include/Makefile.in, testsuite/Makefile.in: Regenerated. From-SVN: r116139
This commit is contained in:
parent
abab460491
commit
ac1ed908de
1294 changed files with 99479 additions and 35933 deletions
|
@ -45,19 +45,17 @@ import gnu.java.security.hash.IMessageDigest;
|
|||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>A simple pseudo-random number generator that relies on a hash algorithm,
|
||||
* that (a) starts its operation by hashing a <code>seed</code>, and then (b)
|
||||
* continuously re-hashing its output. If no hash algorithm name is specified
|
||||
* in the {@link Map} of attributes used to initialise the instance then the
|
||||
* A simple pseudo-random number generator that relies on a hash algorithm, that
|
||||
* (a) starts its operation by hashing a <code>seed</code>, and then (b)
|
||||
* continuously re-hashing its output. If no hash algorithm name is specified in
|
||||
* the {@link Map} of attributes used to initialise the instance then the
|
||||
* SHA-160 algorithm is used as the underlying hash function. Also, if no
|
||||
* <code>seed</code> is given, an empty octet sequence is used.</p>
|
||||
* <code>seed</code> is given, an empty octet sequence is used.
|
||||
*/
|
||||
public class MDGenerator extends BasePRNG implements Cloneable
|
||||
public class MDGenerator
|
||||
extends BasePRNG
|
||||
implements Cloneable
|
||||
{
|
||||
|
||||
// Constants and variables
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
/** Property name of underlying hash algorithm for this generator. */
|
||||
public static final String MD_NAME = "gnu.crypto.prng.md.hash.name";
|
||||
|
||||
|
@ -67,23 +65,12 @@ public class MDGenerator extends BasePRNG implements Cloneable
|
|||
/** The underlying hash instance. */
|
||||
private IMessageDigest md;
|
||||
|
||||
// Constructor(s)
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
/** Trivial 0-arguments constructor. */
|
||||
public MDGenerator()
|
||||
{
|
||||
super(Registry.MD_PRNG);
|
||||
}
|
||||
|
||||
// Class methods
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
// Instance methods
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
// Implementation of abstract methods in BaseRandom ------------------------
|
||||
|
||||
public void setup(Map attributes)
|
||||
{
|
||||
// find out which hash to use
|
||||
|
@ -95,22 +82,15 @@ public class MDGenerator extends BasePRNG implements Cloneable
|
|||
// ensure we have a reliable implementation of this hash
|
||||
md = HashFactory.getInstance(Registry.SHA160_HASH);
|
||||
}
|
||||
else
|
||||
{ // a clone. reset it for reuse
|
||||
md.reset();
|
||||
}
|
||||
else // a clone. reset it for reuse
|
||||
md.reset();
|
||||
}
|
||||
else
|
||||
{ // ensure we have a reliable implementation of this hash
|
||||
md = HashFactory.getInstance(underlyingMD);
|
||||
}
|
||||
|
||||
else // ensure we have a reliable implementation of this hash
|
||||
md = HashFactory.getInstance(underlyingMD);
|
||||
// get the seeed
|
||||
byte[] seed = (byte[]) attributes.get(SEEED);
|
||||
if (seed == null)
|
||||
{
|
||||
seed = new byte[0];
|
||||
}
|
||||
seed = new byte[0];
|
||||
|
||||
md.update(seed, 0, seed.length);
|
||||
}
|
||||
|
@ -122,22 +102,20 @@ public class MDGenerator extends BasePRNG implements Cloneable
|
|||
md.update(buffer, 0, buffer.length);
|
||||
}
|
||||
|
||||
public void addRandomByte (final byte b)
|
||||
public void addRandomByte(final byte b)
|
||||
{
|
||||
if (md == null)
|
||||
throw new IllegalStateException ("not initialized");
|
||||
md.update (b);
|
||||
throw new IllegalStateException("not initialized");
|
||||
md.update(b);
|
||||
}
|
||||
|
||||
public void addRandomBytes (final byte[] buf, final int off, final int len)
|
||||
public void addRandomBytes(final byte[] buf, final int off, final int len)
|
||||
{
|
||||
if (md == null)
|
||||
throw new IllegalStateException ("not initialized");
|
||||
md.update (buf, off, len);
|
||||
throw new IllegalStateException("not initialized");
|
||||
md.update(buf, off, len);
|
||||
}
|
||||
|
||||
// Cloneable interface implementation ---------------------------------------
|
||||
|
||||
public Object clone() throws CloneNotSupportedException
|
||||
{
|
||||
MDGenerator result = (MDGenerator) super.clone();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue