隨機分組產生器如何運作?
此工具使用瀏覽器的 Web Crypto API——具體來說是 crypto.getRandomValues()——對您的名單執行 Fisher-Yates 洗牌。 此 API 從作業系統的熵池中獲取亂數而非公式,因此輸出無法預測或逆推。 Math.random() 執行確定性演算法:給定相同的種子,它會產生相同的序列。crypto.getRandomValues() 不是這樣運作的。相同的標準用於 TLS 金鑰產生和密碼管理器。
洗牌後,名字按順序填入各組。如果人數無法整除,剩餘的名字會分配到前面的組別——因此最大的組 最多只比最小的組多一個人。在我們的測試中,將 30 個名字分成 5 組,在 500 次執行中產生了 500 個不同的排列。所有這些都在您的瀏覽器中運行;名單永遠不會到達伺服器。 MDN 關於 crypto.getRandomValues() 的文件 涵蓋了完整的 API 規範。