Here is a 10 character random password generator: d randPwd pr 10a d random pr ExtProc('CEERAN0') d 10u 0 d 8f d 12 Options(*Omit) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ... generate random password ... * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * p randPwd b d pi 10a d seed s 10u 0 Inz(0) d floater s 8f d fc s 12a d pwd s 10a d $I s 3s 0 d alpha s 26a Inz('ABCDEFGHIJKLMNOPQRSTUVWXYZ') /free For $I = 1 to 10; random( seed: floater : fc ); %SubSt( pwd : $I : 1 ) = %SubSt( alpha : %Int(floater * 26 + 1) : 1 ); EndFor; Return pwd; /end-free p randPwd e A call looks like: rndPwd = randPwd();