首页 > 解决方案 > 如何在指纹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) {

        }
    });

标签: fingerprintjs2

解决方案


您可以添加自定义组件,您可以在Extending FingerprintJS 指南中了解更多信息。简单地说,你只需要将你的 id 添加到 components 对象中。

const result = await fp.get()
const components = {
  ...result.components,
  foo: username
}

const visitorId = FingerprintJS.hashComponents(components)

推荐阅读