java获取ua浏览器指纹_头条:如何获取浏览器指纹信息
?
本文收錄于 GitHub 日問(wèn): DailyQuestion,內(nèi)含大廠內(nèi)推機(jī)會(huì)、面經(jīng)大全及若干面試題,每天學(xué)習(xí)五分鐘,一年進(jìn)入大廠中。
大廠面經(jīng)大全
大廠內(nèi)推
?
由于不同的系統(tǒng)顯卡繪制 canvas 時(shí)渲染參數(shù)、抗鋸齒等算法不同,因此繪制成圖片數(shù)據(jù)的 CRC 校驗(yàn)也不一樣。
function getCanvasFp () {
const canvas = document.getElementById('canvas')
const ctx = canvas.getContext('2d')
ctx.font = '14px Arial'
ctx.fillStyle = '#ccc'
ctx.fillText('hello, shanyue', 2, 2)
return canvas.toDataURL('image/jpeg')
}
復(fù)制代碼
因此根據(jù) canvas 可以獲取瀏覽器指紋信息。
繪制 canvas,獲取 base64 的 dataurl
對(duì) dataurl 這個(gè)字符串進(jìn)行 md5 摘要計(jì)算,得到指紋信息
但是對(duì)于常見(jiàn)的需求就有成熟的解決方案,若在生產(chǎn)環(huán)境使用,可以使用以下庫(kù)
fingerprintjs2
它依據(jù)以下信息,獲取到瀏覽器指紋信息
canvas
webgl
UserAgent
AudioContext
對(duì)新式 API 的支持程度等
requestIdleCallback(function () {
Fingerprint2.get((components) => {
const values = components.map((component) => component.value)
const fp = Fingerprint2.x64hash128(values.join(''), 31)
})
})
復(fù)制代碼
簡(jiǎn)答
根據(jù) canvas 可以獲取瀏覽器指紋信息
繪制 canvas,獲取 base64 的 dataurl
對(duì) dataurl 這個(gè)字符串進(jìn)行 md5 摘要計(jì)算,得到指紋信息
若在生產(chǎn)環(huán)境使用,可以使用 fingerprintjs2
更多面試
【字節(jié)-視頻架構(gòu)組-前端】頭條架構(gòu)組招人了內(nèi)含自測(cè)題
【美團(tuán)】什么是防抖和節(jié)流,他們的應(yīng)用場(chǎng)景有哪些
【美團(tuán)】如何獲取一個(gè)進(jìn)程的內(nèi)存并監(jiān)控
關(guān)注我
我是山月,正致力于「每天用五分鐘能夠看完的簡(jiǎn)短答案回答一個(gè)大廠高頻面試題」,可添加我的微信 shanyue94 進(jìn)行交流。
歡迎關(guān)注公眾號(hào)【互聯(lián)網(wǎng)大廠招聘】,定時(shí)推送大廠內(nèi)推信息及面試題簡(jiǎn)答,「每天學(xué)習(xí)五分鐘,半年進(jìn)入大廠中」
本文使用 mdnice 排版
總結(jié)
以上是生活随笔為你收集整理的java获取ua浏览器指纹_头条:如何获取浏览器指纹信息的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java中this的含义_Javascr
- 下一篇: 2017年html5行业报告,云适配发布