We have an application that we need to ensure that our APPLICATION DATA should not be used (or opened) in different computers with same users. For that we thought about getting harddisk GUID as a part of data encryption private key. In this case raid disks, virtual PCs would fail and wouldn’t be able to open the data. We need some advice about how to get a proper id to strict user-per computer but not user-harddisk.
Note: Both Mac and Windows supported
Edit: it was about application data, but not the application itself. Sorry for wrong asking
4
Maybe the MAC Adress of the Network adapter might be a proper solution for you. But even this cannot asure you a 100% unique ID because the Adapter can be built into another PC. But no matter what you do without a service based application you cannot 100% control who is allowe
3
You can’t, and it’s a terrible idea anyway. People use multiple computers, and even on their primary computer, they generally change their computer hardware more frequently than their software. Back when I used software like yours, I would disable that protection so I could properly use the software I paid for. Now, I don’t even bother, and just buy from your less draconian competitors instead.
People can set their own MAC addresses, so that’s not really a solution. Also, routers change the MAC address on packets, so a central server has no access to it.
If you really want to restrict by hardware, the only real way to do it is to supply your own dongle that must be attached to the computer. Yes, you can move the dongle, but you’re still restricting use to a physical piece of hardware, so you can’t just email someone a license key. You almost never see these because they’re annoying for both users and distributors.
The most common form of user restriction nowadays is probably the license server. The software contacts a server to obtain a license, and must release the license before it can be used again somewhere else. This lets a user use software on multiple computers, but only one at a time, which really should be your goal here. It’s still a little annoying for users, but acceptable if the software is high quality.
2