1. A method implemented in a device, the method comprising: generating a hash value for a value of an entropy source of the device; sending the hash value to an entropy estimation service; receiving, from the entropy estimation service, an entropy estimate for the value that is based on both the hash value and hash values previously received by the entropy estimation service; incorporating the hash value into an entropy pool to be used by the random number generator; generating a new entropy estimate for the entropy pool based on the entropy estimate for the value; if the new entropy estimate for the entropy pool satisfies a threshold entropy estimate that is maintained by the entropy pool, then: generating an initial output string with a size of larger than a byte by a random number generator; sending the initial output string to a random number service; receiving, from the random number service, an indication of failure of the random number generator if the initial output string is the same as a previous initial output string received by the random number service; and re-initializing the random number generator in response to the indication of failure.