Some forums that I regularly visit sell premium programs, and to prevent them from being leaked they use hardware-id authentication. That is, first they send you a program to run to grab your HWID, you tell them your HWID, they store it in a database, then they send you the actual program.
If your HWID isn't in the database, the program won't run. So what is Hardware-ID, and how is it generated? Why is it that my HWID is different depending on the programmer that sends me a HWID-grabber?
A hardware ID is a (hopefully) unique identifier generated from the serial numbers present in such things as your cpu and network card. There is no standard algorithm, which is why it varies between individual developers.
A previous question discussed algorithms.