什么可能导致 Math.random() 在每次页面重新加载时生成相同的"random"数字?



我正在制作一个电子应用程序,在渲染器过程中,我有一个调用Math.random((的方法。只是一个简单的return Math.floor(Math.random() * 1000),没什么特别的。 问题是每次我运行应用程序时,它实际上都会返回相同的数字。 541、271、919、284。等。每次我重新打开应用程序时,它都是相同的数字,顺序相同。

这可能是什么原因?

编辑: 这是一个奇怪的问题。经过一些测试,我记下了

  • 该问题仅在渲染器进程中存在(用打字稿编写并使用 Webpack 编译(。

  • window.crypto.getRandomValues(array)按预期工作。

事实证明,调用cryptico.generateRSAKey((会调用seedrandom.js的Math.seedrandom((,它覆盖了Math.random((。

案件已结案。相关: https://github.com/wwwtyro/cryptico/issues/20

最新更新