The formation of codes can be carried out in the following main directions:
Rigidly fixed codes stitched into the program. There are usually few of them and their publicity reduces protection to zero.
Some kind of code verification algorithm. A little better than the first one, but only a little. Take the Windows code as an example – any user knows it
A code verification algorithm using the user name.
Obviously, there will be a unique number for each name (or numbers – there may be several of them, depending on the algorithm). This is already better, but illegal distribution is based on the selfishness of registered users – nothing prevents them from making the name / password public, but then at least you can figure out the culprit and block his code
A code verification algorithm that uses the user name and some unique or dynamically changing parameters, such as computer information. It is reliable, it gives a link to the computer, but in our age of constant upgrades it is very inconvenient.
On-Line registration. It consists in the fact that the program on-Line communicates with the developers’ website (or the company that sells the software) and transmits the user’s audits there. In response, the registration information is transmitted to the program. This method may be good for a number of programs, but in my opinion it does not stand up to criticism for two reasons:
- No one can guarantee what exactly the program will transmit to the Internet. And it can transmit anything – computer parameters, passwords, any data, etc.
- A specific user may not have access to the Internet. This is especially important for programs whose work is not directly connected to the Network. And almost no one will let him register such a program on his computer (for reasons of clause 1)