I am in need of a mathematical approach which would create unique "keys" to prevent piracy of my software. The inputs could be the customer's name, address and start and end dates of the license period. Acceptable digits would be 0..9, A..Z. I would like an approach which will allow me to put this unique customer information into my C# conversion program, so that it could produce a password, such as "13243-K32K2-09088".
Customer: "Frank A. Smith"
Address: "105 Washington St., Vienna, VA"
License period: "5/29/2005 - 5/29/2006"
But I need to be able to convert the password back to the customer information. Does anyone have any idea how to do this?