2010-08-30 66 views
13

我需要從一臺PC生成一個唯一的代碼,我的軟件將通過許可證進行分發,在本地我需要確定環境並將此代碼發送到服務器。 我不想在服務器上保留一個序列號,每個客戶端都會收到一些序列,我嘗試從NetworkInterfaces中讀取MAC地址,但不安全,用戶可以輕鬆更改MAC地址。 我認爲如果有可能讀取主板序列號的最佳方式,但我到目前爲止還沒有找到方法。 任何消化?基於Java的唯一計算機ID硬件

+1

還要注意,計算機可能有很多網絡接口(因此有很多MAC地址),或者沒有。 – 2010-08-30 01:04:45

+0

是的,但如果計算機沒有網絡接口,我無法檢索該號碼。 – Rigoni 2010-08-30 01:11:43

+0

您是否承諾編寫您自己的授權計劃?我認爲那裏有一些體面的開源解決方案。 – 2010-08-30 01:20:53

回答

9

您的軟件值多少錢?

目標市場海盜軟件有很多嗎?

主板序列號讀取是可能使用WMI

使用WMI從Java讀取序列號 http://www.c-sharpcorner.com/UploadFile/GemingLeader/mb-sn-wmi08242009101325AM/mb-sn-wmi.aspx

使用WMI Windows機器 http://henryranch.net/software/jwmi-query-windows-wmi-from-java/

WMI是/是一個破碎的Windows XP AD域中的域成員(如果他們使用組策略)。

(隻影響XP的大多數企業用戶,所以沒什麼大不了的)

希望這有助於位(MAC地址是簡單的......但很容易改變)

+0

是的,是一個像卡西諾計算器策略的策略軟件。 是多平臺,對於windows這個解決方案會很有用,但是對於其他平臺沒有。我會嘗試這個解決方案,並嘗試其他解決方案。 許多坦克。 – Rigoni 2010-08-30 01:47:35

+1

您可否詳細說明WMI是如何被破壞的。我一直無法找到這個bug的參考。 – MZB 2010-08-30 02:56:47

+0

有很多地方WMI公司沒有報告你期望的信息。複雜的是,每個服務包(以及不幸數量的定期更新)都對WMI報告的內容進行了更改。除非您對客戶端安裝的內容有非常嚴格的控制權,否則WMI可能會很感興趣。 – NotMe 2011-02-06 05:00:30

0

MAC地址是不可靠的。 你應該瞄準一些不能改變CPU ID或HDD IDE ID的東西。 這裏是我的意思是:http://www.soft.tahionic.com/download-hdd_id/index.html

不幸的是,我不認爲這個DLL與Java一起工作,但至少它會告訴你一些關於什麼是可靠的,什麼是不可信的信息。

+0

CPU ID不會爲您提供唯一的序列號。該ID純粹用於識別正在使用的處理器的確切類型。 – NotMe 2011-02-06 05:01:57

+1

此外,硬盤驅動器不可靠,因爲它可能由於使用RAID控制器而不可用 – NotMe 2011-02-06 05:02:57