Javascript随机从哪里获取其熵?

时间:2016-10-15 13:46:47

标签: javascript cryptography entropy

Javascript随机从哪里获取其熵?

我不需要加密安全的随机数据,但我确实需要知道我的特定用例中的碰撞概率,例如:在同一台机器上运行的两个浏览器,或同一浏览器中的两个选项卡。

例如,PHP会话id use(d) IP address as an entropy source,如果在同一台机器上使用32位的熵减少,则会大大增加冲突率,使密钥空间缩小2 ^ 32倍。他们还使用了自unix时代以来的时间,这在连续生成许多值时几乎是不变的,删除了另外32位。

1 个答案:

答案 0 :(得分:1)

the specification未定义。所以你需要查看有问题的浏览器使用的JavaScript引擎的源代码,因为引擎供应商可以自由地做出决定。 (当然,这假定Chrome中的V8或Firefox中的SpiderMonkey等开源引擎; Microsoft可能不会热衷于您查看IE中使用的JScript源; {{3}的核心在Edge中使用,似乎是开源的。)(当然,随着时间的推移,他们可以自由地改变这个决定。)