2010-08-20 30 views

Trả lời

17

Nếu bạn thực sự muốn thời gian hiện tại là dài, hãy thử System.currentTimeMillis(). Ngoài ra, bạn có thể sử dụng new Date().getTime().

Tuy nhiên, sử dụng thời gian hiện tại làm hạt giống số ngẫu nhiên là một lựa chọn rất kém (ít nhất, nếu bạn đang sử dụng số ngẫu nhiên cho bất kỳ điều gì quan trọng, chẳng hạn như mật mã). Bạn có thể xem xét sử dụng một nguồn ngẫu nhiên chẳng hạn như /dev/urandom (nếu có sẵn trên nền tảng của bạn).

+14

Cũng lưu ý rằng các tiêu chuẩn Java bộ tạo số ngẫu nhiên, java.util.Random, theo mặc định khởi để System.currentTimeMillis(), vì vậy nếu đó là máy phát điện bạn đang sử dụng, không cần phải làm điều đó một cách rõ ràng. –

+1

Bảo mật chắc chắn KHÔNG quan trọng. Nó chỉ là thứ tự của một số câu hỏi, mà cho đến thời điểm này đã được thực hiện bởi một số hằng số. : P – bobber205

+4

Java có java.security.SecureRandom, vì vậy không cần phải sử dụng/dev/urandom trực tiếp. http://download.oracle.com/javase/6/docs/api/java/security/SecureRandom.html – starblue

0

Để tạo một số ngẫu nhiên bạn có thể sử dụng mã này:

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