背景:
使用了Math.random()
被安全漏洞扫描出high等级的漏洞。尽管我用了Math.random()
后,再用了一些手段处理这个随机数,还是被安全漏洞报警。
由于
Math.random()
是统计学的 PRNG,攻击者很容易猜到其生成的字符串。推荐使用密码学的PRNG。
在 JavaScript 中,常规的建议是使用 Mozilla API 中的window.crypto.random()
函数。
解决方法:
-
先检查打印一下window.crypto有没有值,有就不用走第一二步,可以直接走第三步
-
引入第三方库:crypto-js
npm install crypto-js
-
在 main.js 全局注册 cryptojs
import crypto from 'crypto-js' Vue.use(crypto)
-
使用,在需要使用的地方插入代码,
将这串代码Math.random()
替代成这串crypto.getRandomValues(randomValuesArray)[0]
文章来源:https://www.toymoban.com/news/detail-767690.htmlconst randomValuesArray = new Uint32Array(1) const randomValue= crypto.getRandomValues(randomValuesArray)[0]
顺嘴一提:
fortify扫描的漏洞 —— Key Management: Empty Encryption Key
把报的关键字【key】换一个参数名即可。文章来源地址https://www.toymoban.com/news/detail-767690.html
到了这里,关于bug:进行安全漏洞扫描被报Insecure Randomness:标准的伪随机数值生成器不能抵挡各种加密攻击。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!