Hi, I've written an application, and would like to include a licence key system. We do have some requirements, but would like to know what tips you guys have as well.
The main purpose of the system is to make sure we keep track of every customer who has the product, and that we can set the key as invalid if they decide to stop paying.
We want to write it ourselves, not rely on 3rd party libraries.
I realize that a .NET programmer can reflect our app and view the algorithm, but we do not need to secure against those guys. It's not that important.
The licence key must contain an expiration date.
Which algorithms would you use? Any tips?