2010-08-26 73 views
2

我想檢索一臺機器的唯一ID。機器的唯一ID應該是什麼?它的主板ID? Windows產品ID?

與其他人一樣我也做了很多的研究,並沒有發現唯一ID的過程中產生的作品完美的。

對於主板序列號(ID):它是唯一的;它不能改變。但是,如果製造商沒有在內存位置上放置信息,那麼在某些機器中可能找不到它。後來我發現它沒有給唯一標識..哈哈

同樣,對於「處理器ID」,「BIOS ID」。

不敢使用PC的其他硬件信息。

MAC和Windows產品ID可以通過軟件進行更改。

並且「Windows產品ID」是唯一的嗎?

有一種方法可以將這些結合起來,但如果在應用上述條件下組合不是唯一的呢?

找到機器唯一ID的其他方法?


編輯: 我想基於對軟件盜版保護的獨特ID生成序列密鑰。 機器意味着目標PC我必須安裝軟件。 @Guge:謝謝提及。

+1

我認爲這將是很好的也說明你的目的,用於識別機器。另外,「機器」是什麼意思?如果你有一臺虛擬機?一臺虛擬機在同一個硬件上是不同的虛擬機是唯一的嗎?如果您將VM轉移到其他硬件,該怎麼辦?或複製?你能以證書的形式分配唯一的ID嗎? – Guge 2010-08-26 10:10:14

+1

你有沒有看這個問題:http://stackoverflow.com/questions/3474940/unique-computer-id-c/3474966#3474966? – GenericTypeTea 2010-08-26 10:10:27

+0

我才知道,ID可以啓用/從BIOS中禁用。這是真的嗎?如果是的話如何? – Rick2047 2010-08-26 11:32:37

回答

2

一臺機器的唯一ID?

沒有像「The機器的唯一ID」這樣的東西,就像你找到的那樣。

您需要定義您的要求,並使用符合這些要求的ID(可能由您自己分配)。例如。對於Web應用程序,使用GUID的Cookie可能足以區分匿名用戶(使用多個瀏覽器的用戶數量較少或「隱私」模式可以忽略)。

對於系統管理在系統級分配GUID應該是足夠的(多個操作系統與多重啓動需要安裝反正分別跟蹤)。

...

2

因爲一些這些ID可能會被丟失,用戶可以換出你需要決定你的「機器」的意思成分。

例如,我想看看主板ID,處理器ID和BIOS的ID,因爲這些是最有可能改變。然後,我會查找所有三個,並允許一個自上次以來丟失和/或更改。如果滿足這些條件,則允許軟件運行。

你怎麼做,如果兩個甚至三個失蹤,我不知道,因爲,就像你說的,其他像MAC地址可以通過軟件和硬盤ID改變可能不是唯一的,受到更多頻繁的變化。

1

如果你想在一個情況下計算機的所有者是故意試圖繞過你的獨特的檢查,以跟蹤唯一計算機,例如免費的電腦遊戲,你只需要每個玩家一個賬號,我見過提到了類似的方法以上,但使用一些加密。

收集,或嘗試收集,幾件相對穩定的PC信息(MotherboardID/MAC地址/ BIOS)與鹽的前綴組合它們,然後用一個簡單的免費的算法加密。該密鑰就是您爲該播放器存儲的內容以及與用戶ID相似的密碼加密方式。該密鑰對於「機器」來說是一個相當不錯的唯一標識符,您可以在每次登錄時檢查它們。

根據您希望獲得正常風險的方式,您可以使用多種計算機信息那些改變他們的組件的人,但只要你沒有得到你所檢查的所有東西的空白應該是非常安全的。