2017-09-17 6 views
0

私はNW.JSにアプリケーションを作成しており、アプリケーションを特定のマシンにロックする必要があります。私は、機械ごとにユニークな任意の種類の文字列または値をプログラム的に取得できるようにしたいと考えています。NW.JSのOSXで一意の識別子を取得する

これは、両方のマシンが同じシリアル番号をCPUで生成した2台のマシンで試してみるまで、このhttps://www.npmjs.com/package/serial-numberを試してみました。私は、ハードウェアのMACアドレスと、現在は「償却」とラベル付けされている他の多くのプラグインを介して識別を試みました。

私はAppleが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上で、今それをテストすることはできません。

関連する問題