Si está utilizando Python, ¿por qué le importa la implementación específica? Solo usa el random
módulo y dejar que se ocupe de ello.
Más allá de eso, (si no puede confiar en el estado del software) os.urandom
proporciona valores aleatorios basados en el sistema operativo:
En un sistema similar a UNIX, consultará /dev/urandom, y en Windows utilizará CryptGenRandom.
(Tenga en cuenta que random.SystemRandom
proporciona una buena interfaz para esto).
Si eres realmente En serio acerca de que sea criptográficamente aleatorio, es posible que desee consultar PyCrypto.
Podría llamar a random.SystemRandom en su lugar. Esto usará CryptGenRandom en Windows y /dev/urandom en Linux.
De lo contrario, siempre está Cygwin /dev/random?