please could you help me with this. I have been searching around and found some ideas but need some more input. Here is what I am trying to achieve.
We currently sell machines with options, currently you need a password to dis/enable the options. Sometimes wrong ones get turned on, and the password also gets passed around. Each machine has a mac address.
What i want to do is, the customer would go to a screen on the machine which would give them a key based on there calculation on there mac address, this key would be similar to a product licence key xxxxx-xxxxx-xxxxx-xxxxx
The customer would then phone the office, we would use this key with desktop software and enable the options they need. Give this new key to the customer and it would then enable the options.
I do not need strong encryption, so what i was thinking of was something link this:
options by me an array, default would be 0
example: mac add + current array of options x 56 / 3 + private key (some simple calculation)
this would give me answer A
but how would i make answer A in the alphanumeric xxxxx-xxxxx-xxxxx-xxxxx format?
then i would need to do the reverse on the pc side, using the same private key, then set the options i need.
Then pass the new public key to the customer.
When entered into the machine use the public key with the private key, work out new values of the options then enable or set them, if the mac address matches.
i hope this makes sence..
if you can think of a better way please advice, or if i have made a mistake.
I need to do the above in C, once I learnt the method, am sure I can do it in C# or Java on the pc side.
(the os is VxWorks, which i don't think makes a difference, but here for reference)