簡體   English   中英

什么會導致 Math.random() 在每次重新加載頁面時生成相同的“隨機”數?

[英]What could cause Math.random() to generate the same “random” number on every page reload?

我正在制作一個 electron 應用程序,在渲染器過程中我有一個調用 Math.random() 的方法。 只是一個簡單的return Math.floor(Math.random() * 1000) ,沒什么特別的。 問題是每次我運行應用程序時它都會返回相同的數字。 541, 271, 919, 284.. 等等。每次我重新打開應用程序時,都是相同的數字,順序相同。

這可能是什么原因?

編輯:這是一個奇怪的問題。 經過一些測試后,我記下了

  • 該問題僅在渲染器進程中存在(用 typescript 編寫並使用 webpack 編譯)。

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

原來調用 cryptico.generateRSAKey() 調用了 seedrandom.js 的 Math.seedrandom(),它覆蓋了 Math.random()。

結案。 相關: https://github.com/wwwtyro/cryptico/issues/20

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM