問題タブ [hardware-id]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - Microsoft のようにハードウェア ID を取得する
Windows SDK には、 computerhardwareidsという名前の CLI ツールがあります。
このツールは、特定のケースに適切な HardwareId を選択するために、さまざまな GUID を返します。
これは、私の PC でこのツールを返す出力です。
そのMicrosoftツールの機能を模倣し、まったく同じHardwareIds(まったく同じ)を返す汎用使用関数を開発したいと思います。
MSDN で情報を見つけました。すべての出力は非常に文書化されているようで、このツールを返す値に関する情報が含まれていますが、WMI クラスのプロパティを正確に指定していません。「Bios」と「System」とだけ表示されています。 :
「ファミリ」、「BIOS ベンダー」、「BIOS メジャー リリース」、「BIOS マイナー リリース」などの値が見つからず、「SKU 番号」がどこを指しているのかわかりません。
これらは、ツールがすべてのデータの一部を取得して GUID を作成する WMI クラスだと思います。
· Win32_ComputerSystemProduct クラス
ドキュメントにも次のように記載されていることに注意してください。
各文字列は、SHA-1 ハッシュ アルゴリズムを使用して GUID に変換されます。
これは私がやろうとしたことですが、いくつかの概念やいくつかの値が間違っているかどうかはわかりません.不完全であり、Guisにも問題があります(コメントラインで説明されています):
java - Java ストア UUID
UUID の保存について質問があります。Java を使用して UUID を生成し、保存して、次にアプリケーションを実行したときに取得できるようにしたいと考えています。
私が構築した .NET アプリケーションでは、これと似たようなことをしています。Windows レジストリを使用して、UUID とその他すべての設定を保存しています。ただし、この Java アプリケーションはクロスプラットフォーム互換であると想定されています。これが問題です。明らかに、他のオペレーティング システムでは、このようなタスク用の Windows レジストリはありません。
この問題に対する解決策は 1 つありますが、もう少し洗練された方法が必要です。私の現在の解決策は、アプリケーションのディレクトリにテキスト ファイル (のような名前unique.txt
) を保存し、実行時にそれを読み取ることです。
その解決策についての私の不満は次のとおりです。
- ユーザーがアプリケーションを新しいディレクトリに移動した場合、プログラムは新しい UUID と設定ファイルを生成する必要があります。
- ユーザーが自分のディレクトリにある設定ファイルを見ることができるという事実は好きではありません。
ソリューションが満たす必要がある条件は次のとおりです。
- ソリューションは、UUID 値 (および場合によっては他の変数) を実行時に取得および変更できるように格納できる必要があります。
- アプリケーションが削除されてから再ダウンロードされた場合、以前のインストールの値は引き続き取得できるはずです。
- 値を格納するために使用されるファイルは、アプリケーションのディレクトリに表示されるべきではありません (ユーザー ディレクトリを設定ファイルで混乱させても意味がありません)。
- ユーザーがアプリケーションを別のディレクトリに移動した場合でも、アプリケーションは以前の設定ファイルを取得できるはずです。設定はディレクトリに依存しないでください。
/
設定ファイルをルート ディレクトリ ( UNIX およびC:\
Windows) に保存することを考えました。ただし、私の経験では、通常、ルート ディレクトリへの書き込みには昇格されたアクセス許可が必要です。また、ルート ディレクトリはこれに最適な場所ではないように感じます。
Javaにこのようなことを行うためのメソッドが組み込まれている場合、誰かが私をその方向に向けてくれることを大いに感謝します. そうでなければ、誰かが何らかのガイダンスを提供できれば、それも素晴らしいことです.
この質問が重複していたら申し訳ありません。このようなものを検索しましたが、答えが見つかりませんでした。質問について不明な点がある場合は、コメントを追加してください。質問を修正して明確にします。
前もって感謝します。
c++ - GetVolumeInformation() からの異なるディスク シリアル番号の結果
これは、hdd シリアル番号を取得するコードですが、問題は、プログラムを実行するたびに値が異なることです。誰かがそれを説明できますか?
解決済み:
ありがとう。
macos - カードごとに一意の MAC ID がどのように生成されますか?
すべての異なるネットワーク デバイスがどのようにして異なる MAC ID を持つことができるのか疑問に思っていました。
デバイスごとに個別にハードコーディングされていますか?(非常にありそうもない..本番環境では誰もコードを変更してプログラムを再コンパイルしてロードしたくないので...)またはアドレスを設定するためにスイッチが使用されていますか、それともROMからロードされていますか?または、他の何か ..
c# - C#(Mono) を使用して Mac で一意のシステム ID を取得する
Mono を使用して Mac 用の Windows アプリケーションをインポートしています。Mac では DPAPI を使用できません。また、Mac でユーザー レベル プログラム用にメインボード/CPU ID を取得する際に制限があると思います。変更されない一意のシステム ID を取得します。
hardware-id - Mac/Win でハードウェア ID を生成する
いくつかのソフトウェア ツールの配布を防ぐために、初歩的なライセンス システムを開発しようとしています。
Windows でも Mac OS システムでも同じ HWID を生成するアルゴリズムを設計したいと考えています。移植性もある必要があります。つまり、Go/Java/.Net で実装できます。
現在、すべてのハード ドライブのシリアル番号、CPU シリアル、およびインストールされている RAM を取得する方法を考えています。これらと SHA1 などを連結します。それがHWIDになります。
私の質問は、これらすべてを同様のシステムで収集できるかということです。
ありがとう。