驗證碼

using System;
using System.Text;
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.Drawing.Imaging;
using System.IO;

public partial class b : System.Web.UI.Page{
    protected void Page_Load(object sender, EventArgs e){

        string tmp = RndNum(5);
        Session["yz"] = tmp;
        //HttpCookie a = new HttpCookie("ImageV", tmp);
        //Response.Cookies.Add(a);
        this.ValidateCode(tmp);
    }

    private void ValidateCode(string VNum){

        Bitmap Img = null;
        Graphics g = null;
        MemoryStream ms = null;
        int gheight = VNum.Length * 15;
        Img = new Bitmap(gheight, 21);
        g = Graphics.FromImage(Img);
        //背景顏色
        g.Clear(Color.LightSteelBlue);
        //文字字體
        Font f = new Font("宋體", 10);
        //文字顏色
        SolidBrush s = new SolidBrush(Color.Blue);
        g.DrawString(VNum, f, s, 3, 4);
        ms = new MemoryStream();
        Img.Save(ms, ImageFormat.Jpeg);
        Response.ClearContent();
        Response.ContentType = "images/Jpeg";
        Response.BinaryWrite(ms.ToArray());
        g.Dispose();
        Img.Dispose();
        Response.End();
    }

    private string RndNum(int VcodeNum){
        string Vchar = "我,穎,靜,雅,藏,中,藥,珠,市,成,幕,量,幙,刑,膾,邢,聯,營,錢,縞,資,機,手,索,信,黃,愛,斯,龍,泉,商,街,貞,倫,朝,源,二,十,五,味,剛,珊,瑚,丸,傑,倫,臺,灣";
        string[] VcArray = Vchar.Split(new Char[] { ',' });
        string VNum = "";
        int temp = -1;
        Random rand = new Random();
        for (int i = 1; i < VcodeNum + 1; i++){
            if (temp != -1){
                rand = new Random(i * temp * unchecked((int)DateTime.Now.Ticks));
            }
            int t = rand.Next(35);
            if (temp != -1 && temp == t){
                return RndNum(VcodeNum);
            }
            temp = t;
            VNum += VcArray[t];
        }
        return VNum;
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章