Unique computer ID hardware based in Java

Rigoni picture Rigoni · Aug 30, 2010 · Viewed 7.7k times · Source

I need to generate a unique code from a single PC, my software will be distribute by licence, and locally I need to identify the environment and send this code to the server. I don't want to mantain on the server a sequencial number and each client recieve a number of the sequence, i tried to read the MAC adress from NetworkInterfaces, but is not secure, the user can change easily the MAC adress. The best way I think if its possible to read the motherboard serial number, but I haven't found the way until now. Any sugestion?

Answer

Tim Williscroft picture Tim Williscroft · Aug 30, 2010

How much is your software worth ?

Does the target market pirate software a lot ?

Motherboard serial number reading is possible on Windows boxes using WMI

Use WMI to read serial number http://www.c-sharpcorner.com/UploadFile/GemingLeader/mb-sn-wmi08242009101325AM/mb-sn-wmi.aspx

Use WMI from Java http://henryranch.net/software/jwmi-query-windows-wmi-from-java/

WMI is/was a broken on Windows XP domain members on a AD Domain, if they use group policies.

( This only effects most corporate users of XP, so not a big deal)

Hope this helps a bit ( MAC address is simpler... but is easy to change)