日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

验证验证码

發布時間:2024/1/18 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 验证验证码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Checkcode.aspx.cs頁面

??? protected void Page_Load(object sender, EventArgs e)

??? {

??????? this.CreateCheckCodeImage(GenerateCheckCode());

??? }

??? private string GenerateCheckCode()

??? {

??????? int number;

??????? char code;

??????? string checkCode = String.Empty;

??????? System.Random random = new Random();

??????? for (int i = 0; i < 5; i++)

??????? {

??????????? number = random.Next();

??????????? if (number % 2 == 0)

??????????????? code = (char)('0' + (char)(number % 10));

??????????? else

??????????????? code = (char)('a' + (char)(number % 26));

??????????? checkCode += code.ToString();

??????? }

??????? Response.Cookies.Add(new HttpCookie("CheckCode", checkCode));

??????? Session["CheckCode"] = checkCode;

??????? return checkCode;

??? }

?

?

??? private void CreateCheckCodeImage(string checkCode)

??? {

??????? if (checkCode == null || checkCode.Trim() == String.Empty)

??????????? return;

??????? System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length * 12.5)), 30);

??????? Graphics g = Graphics.FromImage(image);

????? ??try

??????? {

??????????? //生成隨機生成器

??????????? Random random = new Random();

??????????? //清空圖片背景色

??????????? g.Clear(Color.White);

??????????? //畫圖片的背景噪音線

??????????? for (int i = 0; i < 25; i++)

??????????? {

??????????????? int x1 = random.Next(image.Width);

??????????????? int x2 = random.Next(image.Width);

??????????????? int y1 = random.Next(image.Height);

??????????????? int y2 = random.Next(image.Height);

??????????????? g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);

??????????? }

????????? ??Font font = new System.Drawing.Font("Arial", 16, (System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic));

??????????? System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, true);

??????????? g.DrawString(checkCode, font, brush, 2, 2);

??????????? //畫圖片的前景噪音點

??????????? for (int i = 0; i < 100; i++)

??????????? {

??????????????? int x = random.Next(image.Width);

??????????????? int y = random.Next(image.Height);

??????????????? image.SetPixel(x, y, Color.FromArgb(random.Next()));

??????????? }

??????????? //畫圖片的邊框線

??????????? g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);

?????? ?????System.IO.MemoryStream ms = new System.IO.MemoryStream();

??????????? image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);

??????????? Response.ClearContent();

??????????? Response.ContentType = "image/Gif";

??????????? Response.BinaryWrite(ms.ToArray());

??????? }

??????? finally

??????? {

??????????? g.Dispose();

??????????? image.Dispose();

??????? }

??? }

}

Reg-person.aspx.cs頁面

if (((string)Session["CheckCode"]) != txtTest.Text)

??????? {

??????????? ErrorMsg_CheckCode.Text = "驗證碼錯誤!";

??????? }

??????? else

??????? {

??????????? ErrorMsg_CheckCode.Text = "驗證碼正確!";

??????????? Response.Redirect("Login.aspx");

??????? }

Reg-person.aspx頁面

???????????????????? <img?? id="vcodeimg"; alt="換張圖片"; οnclick="this.src='Checkcode.aspx?time='+Math.random()"; src="Checkcode.aspx"; title="換張圖片"/>

??????????????????? <script language="javascript" type="text/javascript">

??????????????????????? document.getElementById('vcodeimg').src = 'Checkcode.aspx?time=' + Math.random();

??????????????????? </script>

總結

以上是生活随笔為你收集整理的验证验证码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。