"The SecureRandom class generates random numbers that are far more secure than those produced by the Random class. You still need to provide a seed to start the number sequence at a random spot. The best method for doing this is to obtain random input from a hardware device such as a white-noise generator.

Another reasonable source for random input is to ask the user to type away aimlessly on the keyboard, but each keystroke should contribute only one or two bits to the random seed. Once you gather such random bits in an array of bytes, you pass it to the setSeed method."

Core Java Vol. 2 (7th Ed)

What are the probabilities of hacking java.util.Random vs java.security.SecureRandom? Do you have an example?

How would you go about writing a white noise generator?