开发者

Java: Non MAC-based Unique Computer ID

开发者 https://www.devze.com 2023-02-17 06:20 出处:网络
Searched all over, but haven\'t been able to find a solution.I need to create a (semi) unique ID of a computer for a product key system.It can\'t be derived from the MAC address for several reasons:

Searched all over, but haven't been able to find a solution. I need to create a (semi) unique ID of a computer for a product key system. It can't be derived from the MAC address for several reasons:

  1. The MAC address is changeable
  2. Program stops working if user changes net开发者_开发技巧work card
  3. Won't work if computer has no network card

I'm more concerned about the last two than the first.

It would be best to base it on the serial number of the motherboard/CPU. A Platform independent solution would be great, but platform specific solutions are okay (as long as there are solutions for Windows/OSX/Linux).

Sorry if this has been covered before, I just couldn't find it.


I think there are some solutions around based on creating a "fingerprint" of the computer. One client site I was at was looking into this as a way of ensuring a users identity for a single sign on solution. In the end they decided it was too difficult and too easy for it to trip up so they gave up.

CPU ids (I think) can be disabled in the BIOS. So you need to find something you can access hence why most people seem to go for MAC addresses. But as you say, they can change. But so can just about everything else.

What you might need to think about is how often does something change? MACs can change but how often? for odd time that a network card is changed, is it really going to hurt the user to re-establish their id with the new card.

Perhaps this might work, as part of the product registration ask the user to give a pass code or phrase. Then register their machines MAC address. If they change the network card, they can contact you with the password or phrase and you can reset with the new MAC address. It won't be quite that simple, but the general concept might work for you.

Finally think about your product in general. How much work is it worth doing to stop unauthorised users? Would you be better off embracing those users and giving them a reason to sign up? Perhaps a light version of the software which you give away. Or registration on a central server gives you additional data and material, etc.

there are quite a few different business models floating around that side step the traditional one and still make money.

0

精彩评论

暂无评论...
验证码 换一张
取 消