You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Brave浏览器JavaScript Math.random是否采用xorshift128+算法?

Brave浏览器Math.random()的底层PRNG实现说明

明确结论:Brave浏览器当前所有正式发布版本的Math.random()方法,底层和Chrome、Edge等Chromium系主流浏览器一致,采用xorshift128+伪随机数生成算法。

相关细节如下:

  • Brave的JavaScript执行引擎基于上游Chromium项目的V8引擎做隐私特性定制,并未修改V8原生的Math.random()核心实现逻辑。V8引擎早在2015年底就完成了PRNG方案替换,将原本存在低位分布偏差、序列周期短等缺陷的MWC1616算法下线,全面切换为性能、随机分布质量、内存占用表现更优的xorshift128+,这一改动后续被所有基于V8/Chromium的浏览器默认继承。
  • Brave的指纹追踪防护功能不会改动Math.random()的底层算法选型,仅会在第三方跨域iframe等容易被用于设备指纹采集的上下文里,对输出的随机数序列做反追踪扰动,第一方同域上下文下的Math.random()运行逻辑和标准Chromium完全一致。
  • 2015年之后,搭载SpiderMonkey、JavaScriptCore引擎的其他主流浏览器也陆续完成了PRNG方案切换,xorshift128+是当前桌面端浏览器Math.random()的通用底层实现方案。

补充使用提示:

// 安全敏感场景禁止使用Math.random()
// 生成加密密钥、鉴权令牌等场景请调用密码学安全随机接口
const secureRandomBuf = new Uint32Array(1);
crypto.getRandomValues(secureRandomBuf);

Math.random()绑定的xorshift128+属于非密码学安全PRNG,输出序列存在可预测性,绝对不能用于加密、鉴权等高安全要求场景。

内容的提问来源于stack exchange,提问作者Shubhojoy Mitra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 00:36:19