using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing;
using System.IO;

/// <summary>
/// 生成随机验证码
/// </summary>
public partial class ProductInfo_Login_Range : System.Web.UI.Page
{
    Random random = new Random();
    protected void Page_Load(object sender, EventArgs e)
    {
        string str = getRandomValidate(4);
        Session.Add("RangeCode",str); //这一步是为了将验证码写入Session,进行验证,不能缺省,也可一使用cookie
        //HttpCookie cook = new HttpCookie("code");
        //cook.Value = str;
        getImageValidate(str);
    }
     //得到随机字符串,长度自己定义
    private string getRandomValidate(int len)
    {
        int num;
        int tem;
        string rtuStr = "";
        for (int i = 0; i < len; i++)
        {
            num = random.Next();
            if (num % 2 == 0)
                tem = num % 10 + '0';//生成数字
            else
                tem = num % 26 + 'A';//生成字符
            rtuStr += Convert.ToChar(tem).ToString();
        }
        return rtuStr;
    }
    //生成图像
    private void getImageValidate(string strValue)
    {
        //string str = "OO00"; //前两个为字母O,后两个为数字0
        int width = Convert.ToInt32(strValue.Length * 12);    //计算图像宽度
        Bitmap img = new Bitmap(width, 23);
        Graphics gfc = Graphics.FromImage(img);           //产生Graphics对象,进行画图
        gfc.Clear(Color.White);
      

相关文章: