2010-07-08 19 views

Respuesta

10

La seguridad del número aleatorio (y su aplicación) proviene de cuán suficientemente aleatorio es para fines criptográficos. La calidad de la aleatoriedad se basa en gran medida en la entropía que el sistema puede proporcionar, como a través de interfaces como /dev/urandom en Linux. Para que sea seguro, un atacante no debe poder adivinar el siguiente número aleatorio, dada alguna secuencia de números aleatorios previamente generados.

usted podría utilizar ActiveRecord :: SecureRandom como parte de una aplicación para la creación de UUID (versión 4), pero que no están directamente relacionados con suficiente

+0

buena. ¡gracias! – Flexo

+3

Por lo que puedo decir, SecureRandom * no * usa Mersenne Twister. Eso es una suerte, porque (al contrario de lo que escribió bjg), Mersenne Twister es * no * criptográficamente seguro y * no * adecuado por razones de seguridad. –

+1

@ D.W. es correcto SecureRandom _no_ usa MT. Depende de en qué plataforma se ejecute, http://www.ruby-doc.org/stdlib-1.9.3/libdoc/securerandom/rdoc/securerandom_rb.html –