I am not an expert on this, but let me try if I can help.
The random number or string should not be too difficult to obtain.
For the calculation of the "activation key" It could be something as simple as a CRC. Another possibility would be MD5.
However, there is problem is that it should be difficult to guess how the activation key was obtained.
I would suggest that to the original code which is visible to the user, you add some additional information and THEN apply CRC or MD5. That way, if the user calculates an MD5 on his original string, he will not obtain the activation key, making it very difficult to guess how the information was obtained.
The data you add should be a more or less random-seeming string of characters.
>I want to create an activation screen that would work as following:
>
>1. End user is given a random number or string.
>2. End user has to call the company to obtain 'activation' code.
>3. The application check that the 'activation' code is valid.
>
>That is, the application and another program (VFP) should be able to return exactly the same string or number based on the input number or string.
>
>Any suggestions for the above logic?
>
>Thank you.
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)