Hi All Please take a review at the design and implementation of DRBG at:
http://cr.openjdk.java.net/~weijun/8051408/webrev.07 http://cr.openjdk.java.net/~weijun/8051408/webrev.07/spec http://cr.openjdk.java.net/~weijun/8051408/webrev.07/specdiff/overview-summary.html An example: SecureRandom drbg; byte[] buffer = new byte[32]; drbg = SecureRandom.getInstance("DRBG", DrbgParameters.instantiate(256, PR_ONLY, "hello".getBytes())); drbg.nextBytes(buffer, DrbgParameters.nextBytes(-1, false, "more".getBytes())); SecureRandomInstantiateParameters params = drbg.getParameters(); if (params instanceof DrbgParameters.Instantiate) { DrbgParameters.Instantiate ins = (DrbgParameters.Instantiate) params; if (ins.getCapability() != NONE) { drbg.reseed(DrbgParameters.reseed(false, "extra".getBytes())); } } Thanks Max