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




Comments

  • Thank you

    Posted by rm_pkt on 03/27/2006 05:57am

    Nice code. I really enjoyed it

    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • IBM SPSS Modeler is an extensive predictive analytics platform that is designed to bring predictive intelligence to decisions made by individuals, groups, systems, and the enterprise. By providing a range of advanced algorithms and techniques that include text analytics, entity analytics, decision management, and optimization, SPSS Modeler can help you consistently make the right decisions -- from the desktop or within operational systems. Check out this easy-to-absorb infographic to get a picture of what …

  • IBM Worklight is a mobile application development platform that lets you extend your business to mobile devices. It is designed to provide an open, comprehensive platform to build, run and manage HTML5, hybrid and native mobile apps.

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date