#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^"