如何在 fingerprint2 哈希上添加用户名

how to add username on fingerprint2 hash

我要编辑一个我根本不知道的已经存在的 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) {

        }
    });

我们的客户正在使用克隆的电脑,相同的硬件和软件,所以碰巧两个不同的用户生成相同的唯一编号。 我的目的是将用户名添加到现有代码中。

这样做好吗?

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 guidelines中了解更多信息。简单地说,你只需要将你的id添加到components对象中即可。

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

const visitorId = FingerprintJS.hashComponents(components)