2017-01-02 9 views
0

C#でソフトウェアを開発しました.PCのMAC IDを一意の識別子として使用して登録しています。私は自分の携帯電話のUSBテザリングを介してインターネットを使用して1台のPCにソフトウェアを登録し、それはMAC IDを取得し、正常に登録されました。しかし、私がUSBテザリングで携帯電話のインターネットを使って別のPCに登録しようとすると、最初のPCを登録したのと同じMAC IDが表示されています。 cmdでipconfig/allコマンドを使用して両方のPCのMAC IDを確認しました。私のモバイルがインターネット接続されている場合、同じIDが物理アドレスの下に表示されます。なぜこうなった?これに対する解決策は何ですか?私は、MAC IDを取得するために使用さC#を使用している間に2台のPCでMac Idが同じになる

コード:

string macAddresses = "", FinalmacAddresses = ""; 

foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces()) 
{ 
    macAddresses = nic.GetPhysicalAddress().ToString(); 
    break; 
} 

    FinalmacAddresses = macAddresses.Trim().ToString(); 
    return FinalmacAddresses; 
+3

あなたの携帯電話のマックを手に入れようか? – VDWWD

+1

いずれかのPCにネットワークカードまたはWi-Fiカードがありますか?そうでなければ何を推測する - 彼らはマックアドレスを持っていない。 –

+2

解決方法:pcの一意の識別子としてmacアドレス以外を使用してください。 – AsheraH

答えて

0

まず最初は、あなたが一意の識別子としてMACアドレスを使用しないでください、です。同じMacアドレス(Macアドレスのなりすまし)を持つ複数のデバイスを割り当てることができるツールや単純な方法もあります。セキュリティの見通しを見れば、それは良くありません。

代わりにGUIDを使用することをおすすめします。

+0

2つの異なるPCのGUIDに一致する可能性はありますか? –

+0

今後、PCのフォーマットが完了し、ソフトウェアを再インストールすると、そのユーザーが既に登録されているかどうかを確認する方法はありますか? GUIDを使用することは可能ですか?そしてどうやって? –

+1

彼らがハードドライブを変更したらどうなりますか?新しいPCですか?マザーボードとモニターはどうですか?そのようなライセンスをリンクする唯一の方法は、それを電子メールで人にリンクする方法と、コードを生成してどこかのデータベースに格納する方法です。ただ、覚えておいてください...ソフトウェアは現在ほとんど無料です。誰もがあらゆる種類のライセンスを必要とする素晴らしい製品でなければなりません。 –

関連する問題