I want to add a licence expiration feature in my application (written in visual c++).
When the licence expires i would like my application to generate a random numerical key which will be sent to me by the user.
Using this key and a personal key-generator i would like to send back to the user an activation code.
The key/activation-code combination should not be stored anywhere in either sides. They must be as random as they can get.
The user should not need any kind of internet connectivity (my previous activation was web-based and i want to remove it).
What kind of algorithm can i use?
I would like some guidelines or any links to useful information if available.
I am not looking anything that is related on how i could "lock" my application with third party software or anything that has to do with hardware serial numbers etc...
Thanks in advance!