我正在制作一个电子应用程序,在渲染器过程中,我有一个调用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