现在希望能够通过采集手机设备的一些软硬件合法信息(手机型号,UA,系统版本,时区,语言...)按照某种算法生成一个唯一的设备指纹。
我初步的想法是,这一组属性(具体能采集那些信息还在研究,最终会是一组带权重的属性)通过算法生成指纹 ID,每当来一组新的属性,也计算对应的 ID,然后去查询已有设备的指纹 ID 附近的进行比较,如果误差小于一定范围则认为是一个设备,否则就是新设备。
看网上有推荐引擎貌似可以做这个事情,但是有点复杂,而且还是基于用户协同过滤,这里只有设备信息。希望这个算法不要太复杂,目前还没有很好的思路,大家有没有什么好的建议?
参考文档: https://zhuanlan.zhihu.com/p/68852244 https://cloud.tencent.com/developer/article/1751246 https://cloud.tencent.com/developer/article/1762076
1
Ariver 2021-08-27 10:44:59 +08:00 via iPhone
可以参考浏览器指纹
相关讨论会多一些。 |
2
Co1a 2021-08-27 10:45:05 +08:00 via iPhone
Hash+Cuckoo Filter
|
3
kop1989 2021-08-27 10:47:06 +08:00
关键就是针对你的业务需求来决策采集信息以及对应权重。
而你没有暴露你的真实业务需求,别人怎么可能能够给予你帮助。 |
5
seaguest OP @Ariver
看了一个浏览器指纹项目:https://github.com/jackspirou/clientjs 看代码里面大概是把采集的属性信息组合,然后哈希,貌似没有什么容错的处理。譬如某个属性稍微有点变化,可能生成的指纹就变化了。 |
6
Jacky23333 2021-08-28 18:21:28 +08:00 via Android
@seaguest 要不然叫算法?
|