Math.random会重复吗?

Bri*_*y37 4 javascript random

对于不同的JavaScript实现Math.random:

抛开记忆和长度问题,以下最终会有一个永远重复的数字序列(例如,它只取决于内部种子,当种子回到它的起始点时,数字会重复)?

sequence = Math.random();
while(true){
    sequence += ', ' + Math.random();
}
Run Code Online (Sandbox Code Playgroud)

每个客户端是否具有相同的重复序列(例如,客户端不将特定于客户端的数据合并到随机数生成过程中)?


我问,因为如果可能的数字序列是有限的子集,那么像生成具有Math.random的UUID这样的事情将有更大的碰撞机会.

Tho*_*unk 5

从阅读MDN:

注意:Math.random()不提供加密安全随机数.不要将它们用于与安全相关的任何事情.使用Web Crypto API,更确切地说是window.crypto.getRandomValues()方法.

我认为,碰撞最终是可能的.