> From: Edward Ned Harvey (bouncycastle) > > The problem is, you're passing your DigestRandomGenerator directly into > SecureRandom, without keeping any reference to the > DigestRandomGenerator. It is therefore impossible for you to add any seed > to it. > > You *need* to keep a reference to the DigestRandomGenerator, and you > *need* to generate a seed somehow, that you'll add to it.
Sorry, I misspoke. You don't need to keep a reference to DigestRandomGenerator. But you *do* need to call SecureRandom.SetSeed() which is a wrapper around DigestRandomGenerator.AddSeedMaterial() var rng1 = new SecureRandom(new DigestRandomGenerator(new Sha256Digest())); // Now add some kind of seed material before trying to get random data out! rng1.SetSeed(someRandomBytes);