2

私はC#と.NET2.0を使用しています。私のアプリはさまざまなユーザーをチェックするための何らかの方法が必要なので、ハードウェアIDを使用しますが、使用できるのは次の場合のみです。

  • Macアドレス-簡単に変更でき、誰もが持っているわけではありません//いいえ
  • プロセッサID-WMIを使用すると、CPUモデルの値が返されます。一意ではありません// NO
  • マザーボードシリアル-すべてのマザーボードに搭載されているわけではありません//いいえ
  • Windowsのボリュームシリアル-Windowsの再インストールとボリュームのフォーマットで変更されるかどうかはわかりません

それで、私がhwidについて言及しなかった何かがありますか?私は誰もが持っているものが欲しいです、そしてそれはウィンドウズの再インストールで消去されません。それ以外の場合は、Windowsのボリュームシリアル番号を使用する必要があります。


編集:コメントから、HDDIDを使用するのが最善だと思います。どうやって入手するの?EDIT2:SCSIドライブにシリアルがないことを読みました。本当?

最終編集:アプリでルートドライブシリアルをすでに使用しています。それはかなりうまくいきます。皆さんありがとう。

4

5 に答える 5

2

HDDシリアル番号:一意で変更できず、誰もが持っています。

完璧なオプションではありませんが...

于 2010-08-06T15:26:38.643 に答える
1

まあ、私は複数のIDに行きます。十分な数の ID を組み合わせると、十分な一意性が得られます。

編集:プログラムがインストールされたハードディスク上の場所(プラッター、シリンダーなど)を探すこともできます。

于 2010-08-06T15:29:32.053 に答える
0

MACアドレスはあまり信頼できません。CPUIDやHDDIDEIDなど変更できないものを使用する必要があります。

これが私が意味するものです:http:
//www.soft.tahionic.com/download-hdd_id/index.html
http://www.soft.tahionic.com/download-hdd_id/hardware%20ID%20programmer%27s%20DLL .html


そして、あなたの質問に答えるために、はい、SCSIにはハードウェアIDがありません。

于 2011-01-07T13:47:04.290 に答える
0

なぜハードウェア ID を使用するのですか? 私自身、ある種のフォームベース (または AD ベース) のセキュリティを使用します。

ただし、HWID に関する問題は、特定のコンピューター構成を識別することです。システムが変更された場合に変更されるように設計されています。再インストールと再フォーマットで Windows ボリューム シリアルが変更される可能性があるとおっしゃいましたが、その時点でソフトウェアも再インストールする必要はありませんか? HDD シリアルは、ユーザーが何らかの理由で HDD を交換した場合にも変更される可能性があります。

HWID を使用する必要がある場合は、使用可能なオプションの 1 つ (または複数) を選択して一意性を提供し、ソフトウェアの再インストールや再構成を必要とするハードウェアの変更についてコードを記述するか、ユーザーに通知する必要があります。 .

于 2010-08-06T15:31:20.897 に答える
0

セキュリティについて考える必要がありますか、それとも信頼性だけを考える必要がありますか?つまり、ユーザーは ID チェックを改ざんしたいと考えていますか? (高い) セキュリティが必要な場合は、「ソフトウェア保護」製品のいずれかを購入してください。これは、自分で行うよりもはるかに安価です。

高度なセキュリティは必要ありませんか? => もう 1 つの可能性は、ユーザーまたはマシン SID を使用することです。アプリケーションが高度に実行されることを考慮する必要があります => ユーザーは管理者です。

最後になりましたが、HKEY_CURRENT_USER の下のレジストリ (おそらくさまざまな場所) に数バイトのランダムな値を書き込み、これらを ID として使用します。

于 2011-01-07T14:05:27.947 に答える