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?
You could create a file and use the creation time of the file as your unique id. If you create it in user space then it would uniquely identify a user of your application on a particular machine. If you created it somewhere global then it could uniquely identify the machine.
The Hardware ID (HWID) is a set of numbers and letters (capital letters only) that uniquely identify your computer to any of our software. The HWID is made out of eighteen (18) characters e.g. 098H52ST479QE053V2 and it is used to unlock (register) our software in a computer.
There is no such thing as "The Unique ID of a machine", as you have found. You need to define your requirements, and use an ID (possibly allocated by yourself) that meets those requirements.
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)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With