Random String Generator

WEBINAR:
On-Demand

Full Text Search: The Key to Better Natural Language Queries for NoSQL in Node.js


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

  • Cloud has the potential to offer many benefits that can enable great success within your business. However, there are still many myths floating around about backing up to the cloud. In this eBook, you'll discover the truth about five of the most common cloud myths, including myths about security, maintaining regulatory compliance and more. Get to the truth, so you can backup to the cloud with confidence.

  • IBM Cloud Object Storage is a compelling alternative to on-premises archive storage and enables higher agility not previously achievable.

Most Popular Programming Stories

More for Developers

RSS Feeds

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