国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

asp.net 生成圖片驗證碼

2024-07-10 13:10:46
字體:
來源:轉載
供稿:網友

identifyingcode.aspx里沒有內容略。
identifyingcode.cs文件:
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.drawing.imaging;
using system.io;
public partial class identifyingcode : system.web.ui.page
{
    protected void page_load(object sender, eventargs e)
    {
        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.lightsteelblue);
        //文字字體
        font f = new font("arial black", 10);
        //文字顏色
        solidbrush s = new solidbrush(color.royalblue);
        g.drawstring(vnum, f, s, 3, 3);
        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 = "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;
    }

}
 
使用方法:
在需要它的頁面html里添加
 <img src="identifyingcode.aspx" />
 

  httpcookiecollection cookies = request.cookies;
  string tmp = cookies["imagev"].value;
  然后比tmp與獲取的較驗證碼文本框中的值是否相同

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 嘉兴市| 伊宁县| 泰宁县| 衡山县| 台安县| 萍乡市| 行唐县| 枝江市| 全州县| 西宁市| 琼结县| 施甸县| 澜沧| 康定县| 长沙县| 龙海市| 大丰市| 搜索| 钦州市| 临夏县| 新竹市| 葵青区| 尼木县| 南宫市| 平乡县| 邢台县| 安西县| 敖汉旗| 丹东市| 民丰县| 日土县| 利津县| 鄯善县| 富民县| 和平县| 定兴县| 厦门市| 博爱县| 枞阳县| 青神县| 镇远县|