Générateur de Nombres Aléatoires
crypto.getRandomValues · uniforme · dans le navigateur
crypto.getRandomValues. La page utilise l'échantillonnage par rejet pour que le résultat soit uniforme sur toute plage — pas de biais modulo. Plage, nombre, décimales, ordre, séparateur de sortie et mode unique-seulement configurables.Pourquoi c'est "vraiment aléatoire"
Les navigateurs exposent deux sources aléatoires: Math.random(), un générateur pseudo-aléatoire rapide mais déterministe par exécution, et crypto.getRandomValues(), un RNG cryptographiquement sûr ensemencé depuis le pool d'entropie du système d'exploitation — la même source utilisée pour générer les clés de session TLS. Cette page utilise cette dernière pour chaque valeur tirée.
Éviter le biais de modulo
Les implémentations naïves d'entier-depuis-RNG font rand() % n — cela donne un peu plus de poids au bas de la plage quand n ne divise pas la taille du mot RNG uniformément. Le biais est petit mais réel et trivialement détectable sur des millions de tirages.
Mode décimal
Quand vous demandez des décimaux, la page tire une valeur uniforme dans [0, 1) de 53 bits de crypto.getRandomValues et la met à l'échelle dans la plage demandée. Jusqu'à 15 chiffres de précision sont disponibles — la limite pratique des flottants double précision IEEE-754, ce que sont les nombres JavaScript.
Mode unique
Avec Sans doublons activé, la page utilise un mélange Fisher–Yates partiel de la plage entière, ce qui garantit des choix uniques uniformément distribués — l'approche standard pour l'échantillonnage équitable sans remise (le même algorithme utilisé pour mélanger des cartes ou pour une loterie sans re-tirages).
Confidentialité
Chaque valeur est générée localement. La page ne fait aucune requête réseau après le chargement statique initial et il n'y a pas de scripts d'analytique. Aucune de vos entrées ou valeurs générées ne quitte la page.