¿Qué semillas se utilizan para generadores nativos aleatorios en idiomas comunes? -- javascript campo con android campo con ios campo con random campo con cross-platform camp Relacionados El problema

Which seeds are used for native random number generators in common languages?


0
vote

problema

Español

Estoy interesado en encontrar qué semillas se usan para generadores nativos aleatorios en idiomas comunes. Principalmente, es JavaScript, Objetivo C, Swift y Java.

Si desea generar identificaciones únicas en sistemas distribuidos, desea minimizar el riesgo de colisión. Una estrategia es usar una marca de tiempo UNIX concatenada con un número aleatorio. Sin embargo, si la marca de tiempo de UNIX también se usa como la Suela Semilla para el generador de números aleatorios, no tiene sentido agregar un número aleatorio a la marca de tiempo. Si dos unidades calcularon una identificación al mismo tiempo que usa el mismo generador pseudo-aleatorio, entonces también devolverían el mismo número aleatorio. Usar una identificación específica del hardware como parte de la semilla sería una buena estrategia, creo. Pero, ¿cómo se implementa realmente en estos idiomas?

Original en ingles

I am interested in finding out which seeds are used for native random number generators in common languages. Primarily, it's Javascript, Objective C, Swift and Java.

If you want to generate unique ids in distributed systems, you want to minimise the risk of collision. One strategy is to use a UNIX timestamp concatenated with a random number. However, if UNIX timestamp is also used as the sole seed for the random number generator, there is no point in adding a random number to the timestamp. If two units calculated an id at the same time using the same pseudo-random generator, they would then return the same random number as well. Using a hardware-specific id as part of the seed would be a good strategy, I think. But how is it actually implemented already in these languages?

              
 
 

Lista de respuestas

-1
 
vote

Esta es una pregunta de plataforma / marco, no una pregunta de idioma.

Sugeriría generar un UUID en todas las plataformas. Los uuids están diseñados para ser completamente únicos. iOS / Mac OS tiene NSUUID. No sé sobre las otras plataformas.

 

This is a platform/framework question, not a language question.

I would suggest generating a UUID on all platforms. UUIDs are designed to be completely unique. iOS/Mac OS has NSUUID. I don't know about the other platforms.

 
 

Relacionados problema

161  Generar la lista de todas las permutaciones posibles de una cadena  ( Generate list of all possible permutations of a string ) 
¿Cómo voy a generar una lista de todas las permutaciones posibles de una cadena entre los caracteres X e Y en longitud, conteniendo una lista variable de cara...

15  ¿En qué plataformas está limitada de almacenamiento local de hilo y cuánto está disponible?  ( On which platforms is thread local storage limited and how much is available ) 
Recientemente fue consciente de que el almacenamiento local de hilo está limitado en algunas plataformas. Por ejemplo, los documentos para la biblioteca C ++ ...

21  ¿Cómo puedo crear paquetes de instalación de Debian en Windows para un proyecto Visual Studio?  ( How can i create debian install packages in windows for a visual studio project ) 
Estoy desarrollando un software de plataforma cruzada dirigida a Mono en Visual Studio y me gustaría poder crear los instaladores para Windows y Linux (Ubuntu...

1  Invisiable SigSegv en Linux que no sucede en Windows?  ( Invisiable sigsegv on linux that does not happen on windows ) 
Intro Tengo una servidor TCP / HTTP que admite complementos En forma de bibliotecas compartidas ( DLL y .so ). Tiene make y .sln Archivos Cree siste...

15  ¿Hay una herramienta para la integración continua de la plataforma cruzada (C ++ Win32 y Linux)  ( Is there a tool for cross platform continuous integration c win32 and linux ) 
Miré a un par de otras preguntas sobre nosotros, y no estoy realmente seguro de que respondan a esta pregunta. Estamos construyendo aplicaciones C ++ para W...

3  ¿Cuál es el módulo PERL multiplataforma más cómodo y confiable para hacer descargas paralelas?  ( What is currently the most comfortable and reliable cross platform perl module t ) 
Voy a tener que descargar una serie de conjuntos de datos a través de simplemente publicar en una URL y obtener XML a cambio. Podré acelerar esto haciendo más...

687  Python: ¿En qué os estoy corriendo?  ( Python what os am i running on ) 
¿Qué necesito para ver para ver si estoy en Windows o Unix, etc.? ...

4  ¿Cómo obtengo el nombre "amable" del puerto serie en Mono y lo mantiene en la plataforma cruzada?  ( How do i get the friendly name of serial port in mono and keep it cross platfo ) 
Le hice esta pregunta: Puerto serie (RS232) en Mono para múltiples plataformas y este está relacionado: ¿Cómo consigo el amistoso? Nombre de un puerto ...

3  Cómo incrustar datos en una solicitud  ( How to embed data in an application ) 
Quiero hacer una solicitud, pero la aplicación utilizará los iconos (mapas de bits) para algunos de los botones de menú y otras cosas. Quiero mantener mi soli...

1  Biblioteca Xamarin PCL y almacenamiento de datos SQLite  ( Xamarin pcl library and sqlite data storage ) 
Estoy desarrollando una aplicación de plataforma cruzada con Xamarin para Android, iOS y Windows Phone. Estoy creando una biblioteca PCL que contiene toda mi ...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos