fingerprintjs2 - 如何在指纹2哈希上添加用户名
问题描述
我必须编辑一个我根本不知道的已经存在的 Web 应用程序。进入网页,此代码创建一个唯一编号:
Fingerprint2.get(function (components) {
try {
var values = components.map(function (component) { return component.value });
var murmur = Fingerprint2.x64hash128(values.join(''), 31);
$("#id-fingerprint").val(murmur);
} catch (err) {
}
});
我们的客户正在使用克隆的 pc,相同的硬件和软件,所以碰巧两个不同的用户生成相同的唯一编号。我的目的是将用户名添加到现有代码中。
这是一个好方法吗?
Fingerprint2.get(function (components) {
try {
var values = components.map(function (component) { return component.value });
var username = $("#username").val();
values.push(username);
var murmur = Fingerprint2.x64hash128(values.join(''), 31);
$("#id-fingerprint").val(murmur);
} catch (err) {
}
});
解决方案
您可以添加自定义组件,您可以在Extending FingerprintJS 指南中了解更多信息。简单地说,你只需要将你的 id 添加到 components 对象中。
const result = await fp.get()
const components = {
...result.components,
foo: username
}
const visitorId = FingerprintJS.hashComponents(components)
推荐阅读
- python - 如何使用 df.loc 和键列遍历数据框
- macos - 运行 Elasticsearch 7.4 时如何修复错误?
- c# - 如何访问没有来自 C# 的任何参数的 F# 方法?
- python - 很少出现时如何搜索第一个正则表达式?
- python - 在 Pong 中弹跳球靠墙和桨
- python - 生成多边形以填充图像
- javascript - Jquery从ajax调用中获取文件名
- r - ggplot:将ylab旋转并重新定位到中间
- javascript - ReactJS如何验证所有输入然后提交
- php - 成功提交表单,但控制台出现一个错误,例如 A Database Error Occurred Error Number: 1048 - Codeigniter