亂數產生器:PRNG 演算法、真亂數同咩時候先至重要
合埋眼,喺 1 到 10 之間諗一個亂數。如果你講咗 7,咁你就同大多數人一樣——人類喺亂數選擇方面好差,一致偏好奇數同避開極端。一個正規嘅亂數產生器(RNG)可以消除呢種認知偏差,產生遵循數學上均勻分佈嘅數字,範圍內每個值都有完全相等嘅被選中機會。但唔係所有亂數都係一樣嘅:偽亂數(模擬亂數嘅演算法)同真亂數(物理熵源好似大氣噪音或者放射性衰變)之間嘅界線,根據你嘅使用場景至關重要。對於彩票抽獎或者加密金鑰,你需要加密級安全嘅亂數;對於 A/B 測試要顯示邊個登陸頁面變體,一個快速嘅偽亂數產生器(PRNG)就已經夠晒。我哋嘅免費網上 RNG 俾你設定任何整數範圍、產生單一或者多個數值,同可選用種子實現可重現序列——全部喺你嘅瀏覽器本地執行,唔會收集任何數據。
隨機數產生器
免費 · 無需註冊
分步指南
設定你嘅數字範圍
定義你亂數範圍嘅最小值同最大值。產生器會喺呢個範圍內產生整數,包含兩個端點——設定 1 到 6 模擬擲骰子、1 到 100 做百分比擲骰、或者任何自訂範圍。工具亦支援一次產生多個數值(每次點擊最多 100 個數字),可以允許或禁止重複。對於超過 1,000,000 嘅範圍,介面會自動切換到更高效嘅產生演算法以保持結果即時。
選擇你嘅亂數模式
喺三種模式之間選擇:標準 PRNG(快速,可用種子重現)、Crypto API(使用 window.crypto.getRandomValues 獲取加密級亂數)、或者種子 PRNG(輸入種子值以每次都產生完全相同嘅序列)。Crypto API 模式較慢——通常比 PRNG 慢 10-50 倍——但直接由作業系統提取熵,適用於密碼產生、金鑰派生同安全敏感嘅應用。標準模式使用 Mersenne Twister 變體,非常適合遊戲、抽樣同日常亂數需求。
產生同驗證分佈
點擊「產生」即可即刻見到你嘅亂數。工具包含基本嘅分佈視覺化——產生大量數字之後,頻率條形圖會顯示分佈係咪近似均勻(應該係)定係有偏差。對於種子模式,複製種子值就可以喺任何機器上重現相同序列——適用於確定性測試、遊戲中嘅程序生成同可重現研究。
使用技巧與最佳實踐
真亂數產生器(TRNG)由物理過程收集熵——大氣噪音、電路中嘅熱噪音、放射性衰變計時,甚至熔岩燈嘅運動(Cloudflare 著名嘅 LavaRand)。偽亂數產生器恰好相反,係確定性嘅:俾定相同種子,就會產生完全相同嘅序列。對於 99% 嘅網上應用,PRNG 已經完全足夠。
Mersenne Twister(MT19937)嘅週期係 2¹⁹⁹³⁷−1——一個大到如果你每秒產生十億個數字,你需要超過 10⁶⁰⁰⁰ 年先會見到序列重複嘅數字。佢係 Python、Ruby、R 同好多其他語言嘅預設 PRNG。我哋嘅標準模式使用呢個演算法嘅變體。
對於加密用途(密碼、令牌、金鑰),一定要使用 Crypto.getRandomValues() 或者作業系統級別嘅熵源——永遠唔好用 Math.random()。V8 中標準 JavaScript 嘅 Math.random() 使用 xorshift128+,佢快但可預測:研究人員已經展示咗只需觀察幾千個輸出就可以重建內部狀態嘅實際攻擊。
均勻分佈意思係範圍內每個值都有相等嘅概率。擲一個公平嘅 6 面骰子,經過多次擲骰後每個面應該出現約 16.67%。高斯(正態)分佈係另一回事——數值圍繞平均值聚集,極端值好罕見。我哋嘅工具只產生均勻分佈;如果你需要高斯分佈,你可以對兩個均勻亂數應用 Box-Muller 轉換。
種子 PRNG 對於可重現性至關重要。一個遊戲好似 Minecraft 使用種子嚟生成整個世界——喺任何機器上輸入相同種子就會得到相同地形。程序內容生成、科學模擬同隨機化 A/B 測試框架都依賴種子嚟重新執行完全一樣嘅實驗。
當為彩票或抽獎產生亂數時,記錄時間戳、種子、所用演算法同輸出。發布所有呢啲資訊。任何人都可以透過用相同種子重新執行相同演算法嚟驗證結果。呢個就係可證明公平系統嘅運作方式——而且佢消除咗任何操縱嘅嫌疑。
生日悖論適用於亂數產生:如果你喺大小為 N 嘅範圍內產生亂數,你只需要大約 √(2N) 次抽取就會令碰撞(重複)嘅可能性大過一半。喺 1-365 嘅範圍內,只需要 23 個人就有超過 50% 嘅機會共享生日。喺舉辦抽獎或產生唯一 ID 時,要考慮呢個碰撞概率。
對於 A/B 測試:隨機分配變體 A 或 B 應該喺伺服器端使用 (user_id + experiment_seed) 嘅雜湊進行,而唔係客戶端用 Math.random()。客戶端隨機化可能會導致單個會話內出現閃爍變體,而且令重現確切分配以進行除錯變得更加困難。
常見問題解答
亂數唔單止係喺帽入面抽一個數字咁簡單——佢係橫跨電腦科學、統計學、安全同遊戲嘅基礎工具。無論你需要一個快速嘅擲骰、一個可重現嘅研究數據集、定係一個加密強度嘅令牌,理解邊種類型嘅亂數適合你嘅使用場景就已經贏咗一半。我哋嘅免費 RNG 喺一個地方俾晒你三種模式。
免費試用此工具 →open_in_new