2010-08-20 15 views
7

के लिए वर्तमान दिनांक समय प्राप्त करना पसंदीदा रूप से लंबे समय तक।यादृच्छिक संख्या जनरेटर के बीज

मुझे जो भी उदाहरण मिल सकता है वह एक स्ट्रिंग के रूप में दिनांक/समय प्राप्त कर रहा है और कोई स्केलर मान नहीं है। :)

उत्तर

17

तुम सच में एक लंबे समय के रूप वर्तमान समय चाहते हैं, System.currentTimeMillis() प्रयास करें। वैकल्पिक रूप से, आप new Date().getTime() का उपयोग कर सकते हैं।

हालांकि, यादृच्छिक संख्या जेनरेटर बीज के रूप में वर्तमान समय का उपयोग करना बहुत ही खराब विकल्प है (कम से कम, यदि आप कुछ भी महत्वपूर्ण के लिए यादृच्छिक संख्याओं का उपयोग कर रहे हैं, जैसे क्रिप्टोग्राफी)। आप एक यादृच्छिक स्रोत जैसे /dev/urandom (यदि आपके प्लेटफॉर्म पर उपलब्ध हो) का उपयोग करने पर विचार करना चाहें।

+14

भी ध्यान रखें कि मानक जावा यादृच्छिक संख्या जनरेटर, java.util.Random डिफ़ॉल्ट रूप से, System.currentTimeMillis() के लिए initializes इसलिए यदि वह जेनरेटर जिसका आप उपयोग कर रहे हैं, उसे स्पष्ट रूप से करने की आवश्यकता नहीं है। –

+1

सुरक्षा सबसे निश्चित रूप से महत्वपूर्ण नहीं है। यह कुछ प्रश्नों का जस्टिंग ऑर्डरिंग है, जो इस बिंदु तक कुछ स्थिरांकों द्वारा किया गया था। : पी – bobber205

+4

जावा में java.security.SecureRandom है, इसलिए सीधे/dev/urandom का उपयोग करने की आवश्यकता नहीं है। http://download.oracle.com/javase/6/docs/api/java/security/SecureRandom.html – starblue

0

एक यादृच्छिक संख्या उत्पन्न करने के लिए आप इस कोड का उपयोग कर सकते हैं:

var randomnumber=new Date().getUTCMilliseconds(); 
var rand = Math.floor((Math.random() * randomnumber) + 1); 
document.write(rand);