"STV" <sautrn2856@aol.com> wrote:
>Thanks for that Boris Karadjov, but please consider the following.
>I recently downloaded an application where you had to go to there website
>and supply your email address (ONLY, NOTHING ELSE) to obtain a FREE 1 week
>evaluation license key.
>Obviosly this key is somehow created from the email address, however, when
>your key runs out, you can go back to the site for a new key.
>You enter the SAME email address. but your new key is DIFFERENT, and to

>further to this, if you try to add a new key when the existing key is still
>valid, it wont work.
>And EVEN MORE STRANGE, once a key has experied it cannot be used again,

>can all this information appear in a key when all you are providing is the
>email address.
>What examples of the actual alogorithims are in the software, and how can
>you get more information into the key.
>Thanx again

Dear Steve,
This kind of website free licenses are different (in their working) from
what we have to implement for software release licenses.
In case of website free licenses, like the one you described, one obvious
method is,
maintain a list of eMails and corresponding issued keys. These keys need
not contain the email information. For that matter these keys can be any
random strings. Then how does they evaluate the validity? Simple, once the
user submits the key along with their email, just check if the key corresponds
to that email or not. This is some simple database lookup.
And Also check if the date is over. if the date is over just delete the pair
from the list and report the same to the user. Else permit him.

I Think, the following can exapling it better.
Suppose consider, we have a set of email-key-date information, like

Abc@123.com - AAA-111-222 - Jul23
BBD@abc.com - BBB-222-111 - Aug23

Now, if the user abc@123.com logs in today along with his/her key , we have
to check if the pair exists in our list. Yes that exists. But , the date
is over. So, now delte them. After deletion the pair does not exists. so
do not permit him/her. But the abc@123.com can again get the key. Then list
would become,

BBD@abc.com - BBB-222-111 - Aug23
Abc@123.com - 111-222-AAA - Aug27

Thus, the new key works. But the old key does not work now. Because, the
pair does not match. What about getting new key while old is still active?
Simple, before issuing any key just check if the email already exists or
not. From the above list, Both BBD and Abc can not get their new licenses
till next week. Thats all. How you generate these keys never matter. Just
use any orbitary string aslong as they do not repeat for some weeks. This
is lot more easier than Software licenses. In Software licensing there is
no centralized maintainance of list of keys. We have to check the validity
with in the software. There comes the difference.

Hope this makes things somewhat clear.
Thanking you,