背景:
使用了Math.random()
被安全漏洞掃描出high等級的漏洞。盡管我用了Math.random()
后,再用了一些手段處理這個隨機數,還是被安全漏洞報警。
由于
Math.random()
是統(tǒng)計學的 PRNG,攻擊者很容易猜到其生成的字符串。推薦使用密碼學的PRNG。
在 JavaScript 中,常規(guī)的建議是使用 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]
文章來源:http://www.zghlxwxcb.cn/news/detail-767690.htmlconst randomValuesArray = new Uint32Array(1) const randomValue= crypto.getRandomValues(randomValuesArray)[0]
順嘴一提:
fortify掃描的漏洞 —— Key Management: Empty Encryption Key
把報的關鍵字【key】換一個參數名即可。文章來源地址http://www.zghlxwxcb.cn/news/detail-767690.html
到了這里,關于bug:進行安全漏洞掃描被報Insecure Randomness:標準的偽隨機數值生成器不能抵擋各種加密攻擊。的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!