रैंडम संख्या जनरेटर
crypto.getRandomValues · एकसमान · ब्राउज़र में
crypto.getRandomValues से क्रिप्टोग्राफिक रैंडम पूर्णांक या दशमलव निकालें। पृष्ठ अस्वीकृति नमूनाकरण का उपयोग करता है ताकि परिणाम किसी भी श्रेणी पर एकसमान हो — कोई मॉड्यूलो पक्षपात नहीं। कॉन्फ़िगर करने योग्य श्रेणी, गणना, दशमलव, क्रम क्रम, आउटपुट विभाजक, और एक केवल-अद्वितीय मोड।यह "सच्चा रैंडम" क्यों है
ब्राउज़र दो रैंडम स्रोतों को उजागर करते हैं: Math.random(), एक तेज़ छद्म-रैंडम जनरेटर जो प्रति रन निर्धारणात्मक है, और crypto.getRandomValues(), एक क्रिप्टोग्राफिक रूप से सुरक्षित RNG ऑपरेटिंग सिस्टम के एन्ट्रापी पूल से सीडेड — वही स्रोत जो TLS सत्र कीज़ जनरेट करने के लिए उपयोग किया जाता है। यह पृष्ठ आपके द्वारा निकाले गए हर मूल्य के लिए बाद वाले का उपयोग करता है।
मॉड्यूलो पूर्वाग्रह से बचना
भोले पूर्णांक-से-RNG कार्यान्वयन rand() % n करते हैं — यह श्रेणी के निचले छोर को थोड़ा अधिक भार देता है जब n RNG शब्द आकार को समान रूप से विभाजित नहीं करता है। पक्षपात छोटा है, लेकिन वास्तविक है और लाखों ड्रॉ पर तुच्छ रूप से पता लगाने योग्य है।
दशमलव मोड
जब आप दशमलव माँगते हैं, तो पृष्ठ crypto.getRandomValues के 53 बिट्स से [0, 1) में एक एकसमान मूल्य निकालता है और इसे अनुरोधित श्रेणी में स्केल करता है। 15 अंकों तक की सटीकता उपलब्ध है — IEEE-754 डबल-प्रिसिजन फ़्लोट्स की व्यावहारिक सीमा, जो JavaScript संख्याएँ हैं।
अद्वितीय मोड
कोई डुप्लिकेट नहीं चालू होने पर, पृष्ठ पूर्णांक श्रेणी का एक आंशिक Fisher–Yates शफ़ल का उपयोग करता है, जो एकसमान रूप से वितरित अद्वितीय पिक्स की गारंटी देता है — प्रतिस्थापन के बिना उचित नमूनाकरण के लिए मानक दृष्टिकोण (कार्ड शफ़ल या पुनः-ड्रॉ के बिना लॉटरी चुनने के लिए उपयोग किया गया वही एल्गोरिथम)।
गोपनीयता
प्रत्येक मूल्य स्थानीय रूप से जनरेट किया जाता है। पृष्ठ प्रारंभिक स्थैतिक लोड के बाद कोई नेटवर्क अनुरोध नहीं करता है, और कोई विश्लेषण स्क्रिप्ट नहीं हैं। आपका कोई भी इनपुट या जनरेट किए गए मूल्य पृष्ठ नहीं छोड़ते हैं।