Fingerprint2 获取浏览器的指纹应用(唯一标识),生成游客身份

Fingerprint2 获取浏览器的指纹应用,生成游客身份,并应用到uniapp实际开发中

什么是浏览器指纹?

我们每个人都有自己的指纹,可以用来标识我们的唯一身份,最常见的应用就是手机指纹识别、指纹支付、指纹打卡。
浏览器也拥有自己的指纹标识,这指的是仅通过浏览器的各种信息,如CPU核心数、显卡信息、系统字体、屏幕分辨率、浏览器插件等组合成的一个字符串,相当于绝对定位一个用户,并且不受浏览器隐私窗口的影响。
这样一来,当你访问一个网站的时候,因为浏览器具有唯一指纹,浏览器可以直接识别你,尽管不知道你是谁。而这也被应用到开发中产生的浏览器游客身份。

Fingerprint2 生成浏览器指纹应用

Fingerprint2 是一款开源的设备指纹生成器。主要用于判断用户是否是新增用户,或者判断设备是否为新增访问设备。
官网 https://github.com/Valve/fingerprintjs2

Fingerprint2 在uniapp中的使用

1.npm下载Fingerprint2库

npm install fingerprintjs2 -S

2.在项目中引入Fingerprint2

不管是vue项目,还是uniapp项目,都是有App.vue和main.js这两个文件的,我是在App.vue引入Fingerprint2的,因为这个也不需要全局使用,直接在App.vue,整个项目最开始的地方产生一个指纹然后存储到本地存储里面就好了。
当然你如果有其他需求,可以在main.js里面全局注册一下使用

import Fingerprint2 from 'fingerprintjs2'

3.生成浏览器指纹,并存储到本地存储里面

var fingerprint = Fingerprint2.get(function(components) {
   const values = components.map(function(component,index) {
      if (index === 0) { //把微信浏览器里UA的wifi或4G等网络替换成空,不然切换网络会ID不一样
         return component.value.replace(/\bNetType\/\w+\b/, '')
      }
      return component.value
    })
    // 生成最终id murmur   
    const murmur = Fingerprint2.x64hash128(values.join(''), 31);
    uni.setStorageSync('uniquecode',murmur)
});
图例

存储在本地存储的浏览器id

这样下来每次打开同一个浏览器都会生成浏览器的唯一标识,不管刷新还是关闭浏览器,都是唯一的
拿到这个唯一标识之后,你就可以根据这个标识生成游客身份

4.写到最后

这里基于uniapp项目来写的,对于vue项目完全是适用的,大家完全可以举一反三来用起来

以上就是生成浏览器唯一标识的使用方法了,有任何问题欢迎大家指出并讨论

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值