1

重複の可能性:
一意のマシン ID の生成

他のプロセッサがその ID を持っていない一意の ID であるプロセッサのシリアル番号が必要です。また、ハードディスクのシリアル番号があります。私はc++を使用しています。誰でも私を助けてくれますか?

c++ を使用して、CPU 番号、マザーボード番号などの一意のマシン ID が必要です。

Win32_BaseBoard、Win32_Processor Win32_DiskPartition

ありがとうございました。

4

3 に答える 3

2

最良の方法は、単一のパラメーターに依存するのではなく、さまざまなソースからマシンの一意のIDを導出することです。

詳細については、 http://sowkot.blogspot.com/2008/08/generated-unique-keyfinger-print-for.htmlを確認してください。

上記のリンクで説明されている方法でも、常に同じMIDを保証できるわけではありません(ユーザーがハードウェアを変更する可能性があります)。

私の経験に基づいて、アプリケーションの起動/起動時にMIDを生成し、アプリケーション固有の領域(レジストリにある場合があります)に保存し、毎回生成するのではなく、他のすべてのアプリケーション関連タスクにこれを使用します。このような場合、通常のGUID生成で十分です。

于 2012-08-09T05:13:52.463 に答える
1

一意の ID が必要な場合は、ハードウェアに関連付ける必要はありません。新しいランダムID (128 ビット以上) を生成するだけです! 任意の永続的なストレージ メカニズムに保存して、次回は以前に生成したものと同じ ID を抽出できるようにします。

プロセッサまたはディスクのシリアル番号を使用する場合、ユーザーがハードウェアをアップグレードできるため、変更される可能性があります。あなた自身の固有の ID は変更されません。これの唯一の欠点は、デュアル ブートのマシンには 2 つ以上の ID (OS のインスタンスごとに 1 つの ID) があることです。

于 2012-08-09T05:34:26.870 に答える