国产探花免费观看_亚洲丰满少妇自慰呻吟_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與獲取的較驗證碼文本框中的值是否相同

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 聂拉木县| 闸北区| 应城市| 泸溪县| 洞头县| 肥东县| 梨树县| 乐山市| 缙云县| 四川省| 凉城县| 南平市| 三亚市| 淅川县| 从江县| 铜川市| 梓潼县| 察雅县| 宣恩县| 新密市| 饶河县| 闵行区| 遂川县| 沿河| 广宁县| 文登市| 美姑县| 泰州市| 通化县| 伊金霍洛旗| 普兰店市| 龙口市| 江安县| 九寨沟县| 波密县| 太原市| 盈江县| 乌兰察布市| 安庆市| 康定县| 尼勒克县|