驗證碼ASP.NET

來源:互聯網
上載者:User

驗證碼的:
  private void Page_Load(object sender, System.EventArgs e)
  {
   if(!this.IsPostBack)
   {
    string tmp = RndNum(4);
    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*12;
   Img=new Bitmap(gheight,25);
   g=Graphics.FromImage(Img);
   //背景顏色
   g.Clear(Color.White);
   //文字字型
   Font f=new Font("Arial Black",10);
   //文字顏色
   SolidBrush s=new SolidBrush(Color.Black);
   g.DrawString(VNum,f,s,3,3);
   ms=new MemoryStream();
   Img.Save(ms,ImageFormat.Jpeg);
   Response.ClearContent();
   Response.ContentType="image/Jpeg";
   Response.BinaryWrite(ms.ToArray());
  
   g.Dispose();
   Img.Dispose();
   Response.End();
  }
  private string RndNum(int VcodeNum)
  {
   string Vchar="0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p"+
    ",q,r,s,t,u,v,w,x,y,z";
   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;
  }

============================================================

你把產生圖片的程式專門做一個頁面如:
picture.aspx :<img src="picture.aspx">
你如果是帶參數產生的話,那麼:
<img src="picture.aspx?id=424">思路就是這樣

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.