2017-01-02 25 views
0

我開發了一個C#中的軟件,其中使用PC的MAC ID作爲唯一標識符進行註冊。我在一臺使用互聯網的個人電腦上通過我的移動設備的USB綁定註冊了該軟件,它使用了一個mac id併成功註冊。但是當我試圖通過USB綁定使用我的移動互聯網在另一臺電腦上註冊時,它顯示的是我在註冊第一臺PC時得到的相同mac id。我在cmd中使用ipconfig/all命令檢查了兩臺PC的MAC ID,當我的手機連接到互聯網時,在物理地址下顯示了相同的ID。這是爲什麼發生?這是什麼解決方案?在使用C#時,Mac Id在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

Arent你得到你的手機的Mac? – VDWWD

+1

這些個人電腦都有網卡或wifi卡嗎?如果不是,那麼猜猜看 - 他們甚至沒有一個mac地址。 –

+2

解決方案:使用mac地址以外的內容作爲pc的唯一標識符。 – AsheraH

回答

0

的第一件事是,你不應該使用MAC地址作爲唯一標識符。有工具甚至簡單的方式,您可以使用相同的MAC地址分配多個設備(Mac地址欺騙)。如果我們從安全的角度來看,這也不好。

我建議使用GUID代替。

+0

2個不同的PC有沒有匹配GUID的機會? –

+0

將來,如果PC格式化並重新安裝軟件,那麼我將如何檢查用戶是否已經註冊?有沒有可能使用GUID?如何? –

+1

如果他們改變了硬盤 - 那是一臺新的PC嗎?主板和顯示器怎麼樣?鏈接像這樣的許可證的唯一方法是通過電子郵件將其鏈接到個人,或讓他們生成代碼並將其存儲在某個數據庫中。請記住,雖然...軟件現在幾乎是免費的。它必須是一款非常棒的產品,任何人都可以通過任何類型的授權許可。 –

相關問題