Skapa en sträng med alla tillåtna tecken och en tom StringBuilder. Gör en for-loop som körs så många gånger som det ska finnas tecken i lösenordet. I varje loop slumpar du sedan fram ett tecken från strängen med Substring och lägger till din StringBuilder. Snyggt nog?
Eller sätt en int som motsvarar nedre gränsen i ASCII, och sen slumpar du fram ytterligare en int i for-loopen - adderar dessa två och castar till en char som du lägger till StringBuildern. Du måste ju dock sätta slumpgeneratorn att inte plocka för höga nummer och kanske lägga in undantagsfall för ovälkomna tecken.