Not the easyest thing to crack, especially if the regestry key it sefl is randomly named....Logic:
save registry key, say "Cableguy"
Pronpt the user for name, say "Paulo Gomes"
Generate a ramdom string, say "xpto"
Crypt "Paulo Gomes" with crypto key "xpto"
Result is the registration key to send to software co. along with the User Name
With this registration key and User name we, the software co, create a serial key that when crypted with the key "registration key" cames out as "cableguy".