デスクトップアプリがコピーされて他の端末で利用されるのを防ぐためにアプリと端末を紐付けるようなことがしたいのですが、良い方法が見つかりません。
理想は発行されるIDが端末ごとで一意で同じ端末ならば何度発行しても同じ値になってくれると嬉しいのですが、.NET周りのUuidCreateSequential()やGuid.NewGuid()ではある条件で複数回同じ値を出すという事は出来ないようでした。
JavaScriptのUUID.v1では引数の設定があったので、一定の条件で同じIDを繰り返し出す事も可能なのかなと思いましたがC#でもそのような事は可能なのでしょうか?
可能です。Guid.Parse を使ってください。
UUID はともかくコンピューターの一意の情報を取得したいなら次のような方法もあります。
https://webbibouroku.com/Blog/Article/cmd-cpu-os-product
すみません、質問文に条件が抜けていました。端末から取得できる固有の情報をもとに、というような書き方をすべきでした。Guid.Parseは引数がハイフンを 4 つ含む 32 桁の数字でないといけないそうなので厳しそうです。
シリアル番号の使用はヒントになりそうです、ありがとうございます。
UUID.v1 でもできないんじゃないですか?
UUID.v1 の第1引数にオプションを全て指定すればできるのかなぐらいの認識でしたがNode.jsの環境がまだ作れていないため試せていませんすみません。知り合いからjavascriptの時に時刻とか手打ちで設定してそんなことやった気がすると聞いたのですがやってみないとわかりませんね…
https://www.npmjs.com/package/uuid
Note: The default node id (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.
ここには MAC アドレスを使うのが本来の仕様ですが、UUID.v1 の場合はプロセス起動時にランダムな値を生成するようです。
回答1件
あなたの回答
tips
プレビュー