隨機數產生器

產生具有各種分佈的隨機數

如何使用隨機數產生器

  1. 1設定你所需範圍的最小值與最大值。
  2. 2選擇要生成的數字個數,以及是否允許重複。
  3. 3生成並複製結果,或重新抽取一組新數字。

隨機數是如何產生的

結果在 [min, max] 閉區間內均勻抽取

區間內每個數字出現的機率相等;生成器以系統時鐘為種子,因此連續抽取結果不同。

對於密碼或抽獎等安全敏感場景,應使用密碼學安全的生成器,而非通用生成器。

通用生成器多為線性同餘或基於雜湊的偽隨機演算法,輸出由內部“種子”決定;同一種子會復現同一序列,因此可重複的科學實驗需要固定種子以便他人複核。

密碼學安全生成器(如系統的 /dev/urandom、CSPRNG)從不可預測的物理或系統噪聲取熵,輸出無法通過已見序列推算下一個值,適合令牌、鹽值、金鑰等場景。把兩者混用會帶來安全隱患或不可復現的實驗結果。

使用場景是否允許重複範圍建議推薦生成器型別
抽獎中獎者不允許參與者編號區間密碼學安全生成器
骰子/牌局模擬不允許1–6 或固定牌池通用偽隨機
問卷抽樣允許受訪者編號通用偽隨機
生成密碼/令牌不允許字元集長度密碼學安全生成器
自動化測試用例允許覆蓋邊界值通用偽隨機(可固定種子)

不同抽取場景的推薦設定

常見問題

數字會重複嗎?

需要不重複的值時關閉「允許重複」;預設開啟,適用於相互獨立的抽取。

它是真正的隨機嗎?

它是偽隨機,對遊戲和抽樣足夠好,但不適用於加密。

如何公平地抽取中獎者?

把範圍設為參與者編號並抽取一次;公開方法以保證過程透明。

如何讓結果可復現?

在支援種子的生成器裡固定一個種子值;同一種子、同一演算法、同一範圍必定得到相同的抽取序列。

生成的是小數還是整數?

本工具按整數範圍抽取;若需 0–1 之間的小數,可把範圍放大(如 0–1000)再除以 1000 還原到 0–1。

更多工具