重複の可能性:
一意のマシン ID の生成
他のプロセッサがその ID を持っていない一意の ID であるプロセッサのシリアル番号が必要です。また、ハードディスクのシリアル番号があります。私はc++を使用しています。誰でも私を助けてくれますか?
c++ を使用して、CPU 番号、マザーボード番号などの一意のマシン ID が必要です。
Win32_BaseBoard、Win32_Processor Win32_DiskPartition
ありがとうございました。
重複の可能性:
一意のマシン ID の生成
他のプロセッサがその ID を持っていない一意の ID であるプロセッサのシリアル番号が必要です。また、ハードディスクのシリアル番号があります。私はc++を使用しています。誰でも私を助けてくれますか?
c++ を使用して、CPU 番号、マザーボード番号などの一意のマシン ID が必要です。
Win32_BaseBoard、Win32_Processor Win32_DiskPartition
ありがとうございました。
最良の方法は、単一のパラメーターに依存するのではなく、さまざまなソースからマシンの一意のIDを導出することです。
詳細については、 http://sowkot.blogspot.com/2008/08/generated-unique-keyfinger-print-for.htmlを確認してください。
上記のリンクで説明されている方法でも、常に同じMIDを保証できるわけではありません(ユーザーがハードウェアを変更する可能性があります)。
私の経験に基づいて、アプリケーションの起動/起動時にMIDを生成し、アプリケーション固有の領域(レジストリにある場合があります)に保存し、毎回生成するのではなく、他のすべてのアプリケーション関連タスクにこれを使用します。このような場合、通常のGUID生成で十分です。
一意の ID が必要な場合は、ハードウェアに関連付ける必要はありません。新しいランダムID (128 ビット以上) を生成するだけです! 任意の永続的なストレージ メカニズムに保存して、次回は以前に生成したものと同じ ID を抽出できるようにします。
プロセッサまたはディスクのシリアル番号を使用する場合、ユーザーがハードウェアをアップグレードできるため、変更される可能性があります。あなた自身の固有の ID は変更されません。これの唯一の欠点は、デュアル ブートのマシンには 2 つ以上の ID (OS のインスタンスごとに 1 つの ID) があることです。