Similar to Norm's suggestion:

1. Generate the necessary number of symbols, letters, and numbers
2. Pass them to a method that uses a StringBuilder object and 'randomized' branching logic to add...