Friday, January 20, 2012

C#(Generate Random Number)


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Security.Cryptography;
using System.Text;

/// <summary>
/// Summary description for clsRandom
/// </summary>
public static class clsRandom
{
    public static string getNumber()
    {
        try
        {
            string strK = string.Empty;
            strK = GenerateRandomNumber().ToString();
            strK = Math.Abs(decimal.Parse(strK)).ToString();
            strK = decimal.Parse(strK).ToString("0000000000");
            strK = RandomString(8) + strK;

            return strK;
        }
        catch (Exception)
        {
            return null;           
        }
    }

    #region Random Number & Characters

    private static int GenerateRandomNumber()
    {
        try
        {
            byte[] byt = new byte[4];
            RNGCryptoServiceProvider rngCrypto =
                new RNGCryptoServiceProvider();
            rngCrypto.GetBytes(byt);
            int randomNumber = BitConverter.ToInt32(byt, 0);
            return randomNumber;
        }
        catch (Exception)
        {
            return 0;
        }
    }

    private static string RandomString(int size)
    {
        try
        {
            StringBuilder builder = new StringBuilder();
            Random random = new Random();
            char ch;
            for (int i = 0; i < size; i++)
            {
                ch = Convert.ToChar(Convert.ToInt32(Math.Floor(26 * random.NextDouble() + 65)));
                builder.Append(ch);
            }

            return builder.ToString();
        }
        catch (Exception)
        {
            return null;
        }
    }

    #endregion Random Number & Characters
}


No comments:

Post a Comment