Javascript 在NW.JS下的OSX中获取任何类型的唯一标识符

Javascript 在NW.JS下的OSX中获取任何类型的唯一标识符,javascript,macos,node-webkit,nwjs,Javascript,Macos,Node Webkit,Nwjs,我正在用NW.JS编写一个应用程序,需要能够将应用程序锁定到特定的机器上。我希望能够通过编程获得每台机器唯一的任何类型的字符串或值 我曾经尝试过使用它,直到我在两台机器上尝试了它,这两台机器都为CPU生成了相同的序列号。我试着通过硬件MAC地址和许多其他插件来识别,这些插件现在都被标记为“贬值” 我读到苹果公司以隐私问题为由锁定了OSX安装上的任何唯一标识符 现在我还没有找到什么方法,我们可以采取什么方法?我听说有人在应用程序第一次启动时随机生成一个字符串,然后不知何故将其放入密钥链中,但我真的

我正在用NW.JS编写一个应用程序,需要能够将应用程序锁定到特定的机器上。我希望能够通过编程获得每台机器唯一的任何类型的字符串或值

我曾经尝试过使用它,直到我在两台机器上尝试了它,这两台机器都为CPU生成了相同的序列号。我试着通过硬件MAC地址和许多其他插件来识别,这些插件现在都被标记为“贬值”

我读到苹果公司以隐私问题为由锁定了OSX安装上的任何唯一标识符

现在我还没有找到什么方法,我们可以采取什么方法?我听说有人在应用程序第一次启动时随机生成一个字符串,然后不知何故将其放入密钥链中,但我真的不明白在NW.JS中是如何做到的


有人知道怎么做吗

下面是我的工作代码的一个片段,它正在使用:

注意:我现在无法在Mac上测试它

    const macaddress = require('macaddress');
    macaddress.one((err, macAddress) => {

        let hardwareStr = JSON.stringify({
            os: os.platform(),
            hostname: os.hostname(),
            mac: macAddress || 'n/a'
        });

        let id = crypto.createHash('sha256')
                       .update(hardwareStr)
                       .digest('hex');

        // now id is machine-specific identifier without any sensitive information

    });