Prev: A little question
Next: OnClose() in CPropertySheet
From: nexolite on 5 Mar 2010 06:56 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 6 Mar 2010 06:05 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.
|
Pages: 1 Prev: A little question Next: OnClose() in CPropertySheet |