2008-10-10 17 views
32

¿Hay un equivalente de Windows de Linux /dev/random?Windows equivalente a/dev/random

Esta pregunta solicita específicamente la capacidad de leer números aleatorios de un archivo o dispositivo (compatible, por ejemplo, Unix/Linux), en oposición a una pregunta de la API de Windows.

+11

Ojalá alguien hubiera respondido la pregunta que se le hizo. Hay muchas respuestas a la pregunta genérica * ¿cómo puedo generar números aleatorios en Windows *, pero esa no es esta pregunta? Esta pregunta específicamente pregunta sobre '/ dev/random' que es una forma de generar números aleatorios leyendo de un" archivo ". Esto es mucho más interesante que generar números aleatorios llamando a una función. ** Esto ** es lo que quiero saber. Para el registro, no es exactamente lo mismo, pero [hay soluciones para Windows y DOS] (https://en.wikipedia.org/wiki//dev/random#Other_operating_systems). – Synetech

+5

La pregunta es sobre el tema y no una pregunta para "una herramienta, biblioteca o recurso favorito fuera del sitio". – kay

+8

Esta pregunta PERFECTAMENTE VÁLIDA es muy útil, y NO una "recomendación de una herramienta". Otro ejemplo del lado oscuro de S.O. –

Respuesta

1

Este enlace de la respuesta de StingyJack es buena: http://en.wikipedia.org/wiki/CryptGenRandom

Microsoft Visual Studio C++ desde el año 2005 ofrece rand_s() que funciona en Windows XP y arriba. Se basa en RtlGenRandom (al igual que las funciones PRNG de CryptoAPI), cuyo funcionamiento interno no se hace público. Parece que en XP hubo algunas debilidades que desde entonces se han solucionado.

Personalmente, uso rand_s() como una fuente adicional de aleatoriedad para sembrar un PRNG de mi elección.

Cuestiones relacionadas