Random String Generator

For a verification Key I needed a random string, which I was implementing like this:


// iType: 0 -> all syblos allowed
// 1 -> alphanumeric
// 2 -> alpha
// 3 -> numeric
CString RandomString( int iLength, int iType )
{
CString strReturn;
CString strLocal;

for( int i = 0 ; i < iLength ; ++i ) { int iNumber; // Seed the random-number generator with TickCount so that // the numbers will be different every time we run. srand( (unsigned int)( (i+1)*iLength*GetTickCount() ) ); switch( iType ) { case 1: iNumber = rand()%122; if( 48 > iNumber )
iNumber += 48;
if( ( 57 < iNumber ) && ( 65 > iNumber ) )
iNumber += 7;
if( ( 90 < iNumber ) && ( 97 > iNumber ) )
iNumber += 6;
strReturn += (char)iNumber;
break;
case 2:
iNumber = rand()%122;
if( 65 > iNumber )
iNumber = 65 + iNumber%56;
if( ( 90 < iNumber ) && ( 97 > iNumber ) )
iNumber += 6;
strReturn += (char)iNumber;
break;
case 3:
strLocal.Format(“%i”, rand()%9 );
strReturn += strLocal;
break;
default:
strReturn += (char)rand();
break;
}
}

return strReturn;
}

Bugs and Improvements:

Please report all bugs and improvements to me, thanks and enjoy it.

Last updated: 12 June 1998


More by Author

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Must Read