I have a request where a client wants to issue codes so only authorized users can run the CIQ DF.
I don't want to do a web connection. I want codes to expire. The client doesn't need unique codes for everyone - he isn't worried about people sharing activation codes. Just wants to update the valid code every few months.
Here is my thought. I'll add a random constant in the DF. Say: "const SEED = 45;". Only codes that are a multiple of that SEED are valid. The code expires if it is less than the # days since the system epoch (1-Jan-1970), which is 18268 as of today.
===========
Examples:
Code 18315 is valid (modulo 45 = 0). And it is good for 45 more days from today.
Code 18405 is also valid. And is good an additional 90 days.
===========
The only issue with this is that an observant user could easily figure out that the codes are increments of 45. And then easily extend their use of the DF. I don't think my client would mind - but I think there is a way to do this.
I'm trying to figure out a math function in which the code naturally expires after a certain date (or a certain number of days), and the pattern for subsequent codes are not trivial to figure out.
Any ideas?
-- Dave