Hi Rabbit
Would it be unique to a user? Because then you could use a hash of the user's name with the expiry date as a salt. Then append or prepend the expiry date using a simple reversible encryption such as Base16.
I have no idea what you are talking about!! Hash and salt? Anyway,I'm up for it! I'm just a humble engineer. That's why I asked the question. I hoped someone with more knowledge than myself would respond.
Yes it makes sense to include the username (or Company name), so long as it can be decoded.
To start the ball rolling, currently I hard code the expiry date into the current event of the startup form. That way it's not stored in the database. Most of my users would not be able find and change it but obviously it's not very secure.
A month before the expiry date I give a warning to renew the license each time the application starts. For the month after expiry I put up a message to say it has expired and after that they get the message every form change. Only after 3 months to I stop them using it.
With this arrangement I have to supply a revised front-end which is a nuisance if no other changes are required.
What I am thinking of is something more conventional where the user opens a special form and enters the new software key. This would then decode the key and presumably put a date, or number of days into the database. My existing code would then read this and workout the current status.
I have other ideas but that's the start.
S7