#Mathematica 170 r=RandomSample;f[i_]:=(FromCharacterCode/@Range@@i); {t,A,a,n}=f/@{{33,126},{65,90},{97,122},{48,57}}; s=Complement[t,A,a,n]; ""<>r[Join[RandomChoice/@{A,a,n,s},r[t,11]],15] **Examples** "<]}Pg3/e?3+Z~Oz" "X/8jWe@f(_x5P:=" "2wz2VQhtJC?*R7^"