将
$JAVA_PATH/jre/lib/security/java.security
中的
securerandom.source=file:/dev/urandom
替换为
securerandom.source=file:/dev/./urandom
根本原因
In this implementation, the generator keeps an estimate of the number of bits of noise in the entropy pool. From this entropy pool random numbers are created. When read, the /dev/random device will only return random bytes within the estimated number of bits of noise in the entropy pool. /dev/random should be suitable for uses that need very high quality randomness such as one-time pad or key generation.
When the entropy pool is empty, reads from /dev/random will block until additional environmental noise is gathered. The intent is to serve as a cryptographically secure pseudorandom number generator, delivering output with entropy as large as possible. This is suggested for use in generating cryptographic keys for high-value or long-term protection. http://en.wikipedia.org/wiki//dev/random#Linux