0


bug:进行安全漏洞扫描被报Insecure Randomness:标准的伪随机数值生成器不能抵挡各种加密攻击。

背景:

使用了

Math.random()

被安全漏洞扫描出high等级的漏洞。尽管我用了

Math.random()

后,再用了一些手段处理这个随机数,还是被安全漏洞报警。

由于

 Math.random()

是统计学的 PRNG,攻击者很容易猜到其生成的字符串。推荐使用密码学的PRNG。
在 JavaScript 中,常规的建议是使用 Mozilla API 中的

window.crypto.random()

函数。

解决方法:

  1. 先检查打印一下window.crypto有没有值,有就不用走第一二步,可以直接走第三步
  2. 引入第三方库:crypto-jsnpm install crypto-js
  3. 在 main.js 全局注册 cryptojsimport crypto from'crypto-js'Vue.use(crypto)
  4. 使用,在需要使用的地方插入代码, 将这串代码Math.random()替代成这串crypto.getRandomValues(randomValuesArray)[0]``````const randomValuesArray =newUint32Array(1)const randomValue= crypto.getRandomValues(randomValuesArray)[0]

顺嘴一提:
fortify扫描的漏洞 —— Key Management: Empty Encryption Key
把报的关键字【key】换一个参数名即可。

标签: vue.js bug javascript

本文转载自: https://blog.csdn.net/ljtjianting/article/details/130086186
版权归原作者 奶绿走糖 所有, 如有侵权,请联系我们删除。

“bug:进行安全漏洞扫描被报Insecure Randomness:标准的伪随机数值生成器不能抵挡各种加密攻击。”的评论:

还没有评论