From: nexolite on
Hi,

I want to fetch a unique ID for a system so for that I want to get the
following:

1.OS Serial Number
2.CPU Serial Number

or any other way to generate a unique ID for a system?

Please help me..
Thanks
From: LogicNP on
Take a look at CryptoLicensing for MFC
(http://www.ssware.com/cryptolicensing/cryptolicensing_mfc.htm) which uses
computer name for identifying machines.

See below:
CryptoLicensing uses a simple yet relatively foolproof way to uniquely
identify machines. Each machine is identified by its computer name. Any time
a license needs to be activated, a hash of the computer name is generated and
sent to the license service (instead of the computer name itself - this
protects the user's privacy) .Using the computer name ensures that the
activation and machine-locking scheme is free of common problems plaguing
such schemes caused by changing hardware profiles. Even if the user's
hardware profile changes- maybe the LAN card or hard disk changed - the
computer name will most likely remain the same and will not disrupt
validation of machine-locked licenses.

Using computer names also offers a high amount of security because users are
unwilling or often unable (in a corporate environment) to change their
computer name just for the sake of being able to use pirated copy of your
software.

Using the computer name as the machine code offers an excellent balance
between security and resistance to machine changes (and the resultant hassle
for your customers to request a new license key which will work on the new
machine configuration). First, your users have to somehow find that you use
the computer name as the machine code. Even then, many users are unable to
change machine code - maybe because they are novice computer users or because
their setup (for example, in a corporate environment) does not allow them to
change computer

name. Note that since its not possible for a single network to have two
computers with the same name, it is not possible to use a single license on
multiple machines in a corporate network. In case of a home user, to use the
same license key on another machine, he would have to choose a machine over a
different network. Many users will not find it worth the hassle to change
computer names and networks just to be able to use a pirated copy.

Another important aspect is that as you go on increasing the level of detail
in the machine code, it becomes more and more likely that machine code
validation will fail because even a small change in the machine properties
will change its machine code. You risk angering legitimate paying customers
if all of a sudden after some machine upgrading, they find that their license
is not longer working. Also consider the time required for you for
administration and issuing of the new machine-locked licenses for these
customers.