Skip to content
On this page

浏览器指纹

通过浏览器信息生成指纹ID,这种方式生成出来的指纹唯一性不高,可能达到50%~60%,最好的方式还是通过后端生成,这里同时也提供了获取需要生成指纹ID的浏览器信息

getFingerprintId

示例代码
ts
import { getFingerprintId } from '@jsxiaosi/utils';

  getFingerprintId(options) // Promise<string>

参数:

参数说明类型默认值
options控制属性作为浏览器指纹的一部分FingerprintOptionFlags

FingerprintOptionFlags:

参数说明类型
userAgent使用用户代理数据作为浏览器指纹boolean
deviceMemory使用设备内存大小作为浏览器指纹boolean
languages使用浏览器语言列表作为浏览器指纹boolean
timezone使用设备的时区设置作为浏览器指纹boolean
hardwareConcurrency使用设备的核心数量作为浏览器指纹boolean
plugins使用浏览器插件信息作为浏览器指纹boolean
canvas使用Canvas图形绘制的结果作为浏览器指纹boolean
webGl使用图形渲染信息作为浏览器指纹boolean
screen使用屏幕尺寸和颜色深度作为浏览器指纹boolean
sessionStorage使用sessionStorage可用性作为浏览器指纹boolean
localStorage使用localStorage可用性作为浏览器指纹boolean
cookies使用cookies可用性作为浏览器指纹boolean
indexedDB使用IndexedDB可用性作为浏览器指纹boolean
audio使用音频ID作为浏览器指纹boolean

返回类型:Promise<string>

getAllFingerprintInfo

示例代码
ts
import { getAllFingerprintInfo } from '@jsxiaosi/utils';

  getAllFingerprintInfo() // Promise<FingerprintInfo>

返回类型:Promise<FingerprintInfo>

FingerprintInfo:

参数说明类型
userAgent用户代理数据指纹信息string
deviceMemory设备内存大小指纹信息number
languages浏览器语言列表指纹信息string[]
timezone设备的时区设置指纹信息string
hardwareConcurrency设备的核心数量指纹信息number
plugins浏览器插件信息指纹信息PluginData[]
canvasCanvas图形绘制的结果指纹信息string
webGl图形渲染信息指纹信息WebGl
screen屏幕尺寸和颜色深度指纹信息Screen
sessionStoragesessionStorage可用性指纹信息boolean
localStoragelocalStorage可用性指纹信息boolean
cookiescookies可用性指纹信息boolean
indexedDBIndexedDB可用性指纹信息boolean
audio音频ID指纹信息number