2017-09-17 52 views
0

下獲取任何一種在OSX中的唯一標識符我正在NW.JS中編寫一個應用程序,並且需要能夠將應用程序鎖定到特定的機器。我希望能夠以編程方式獲取任何類型的字符串或每個機器唯一的值。在NW.JS

我試過使用這https://www.npmjs.com/package/serial-number這似乎工作,直到我試了兩臺機器,其中兩臺機器產生相同的CPU序列號。我已經嘗試通過硬件MAC地址和許多其他插件標識「折舊」。

我讀過蘋果已經鎖定了OSX安裝中的任何唯一標識符,理由是隱私問題。

現在我們還沒有找到迄今爲止還沒有找到的方法嗎?我聽說有人在第一次啓動應用程序時會隨機生成一個字符串,並以某種方式將它放入鑰匙串中,但我真的不明白NW.JS會如何實現。

有誰知道如何做到這一點?

回答

2

這裏是我工作的代碼片段(它使用https://github.com/scravy/node-macaddress):

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 

    }); 

注:我現在不能測試它在Mac上。