System Entropy

randomgen.entropy.random_entropy(size=None, source='system')

Read entropy from the system cryptographic provider

sizeint or tuple of ints, optional

Output shape. If the given shape is, e.g., (m, n, k), then m * n * k samples are drawn. Default is None, in which case a single value is returned.

sourcestr {‘system’, ‘fallback’, ‘auto’}

Source of entropy. ‘system’ uses system cryptographic pool. ‘fallback’ uses a hash of the time and process id. ‘auto’ attempts ‘system’ before automatically falling back to ‘fallback’

entropyscalar or array

Entropy bits in 32-bit unsigned integers. A scalar is returned if size is None.


On Unix-like machines, reads from /dev/urandom. On Windows machines reads from the RSA algorithm provided by the cryptographic service provider.

This function reads from the system entropy pool and so samples are not reproducible. In particular, it does NOT make use of a bit generator, and so seed and setting state have no effect.

Raises RuntimeError if the command fails.