国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

asp.net生成字母和數字混合圖形驗證碼

來源:懂視網 責編:小采 時間:2020-11-27 22:37:56
文檔

asp.net生成字母和數字混合圖形驗證碼

asp.net生成字母和數字混合圖形驗證碼:驗證碼技術是網站開發過程中比較重要的技術,可以防止非法人員利用注冊機或者登陸工具來攻擊我們的網站。下面是效果圖: 具體實現方法如下: 1、主要思路是:引用Using System.Drawing命名空間,利用Graphics的FromImage方法創建一個畫布,同時設置畫布的
推薦度:
導讀asp.net生成字母和數字混合圖形驗證碼:驗證碼技術是網站開發過程中比較重要的技術,可以防止非法人員利用注冊機或者登陸工具來攻擊我們的網站。下面是效果圖: 具體實現方法如下: 1、主要思路是:引用Using System.Drawing命名空間,利用Graphics的FromImage方法創建一個畫布,同時設置畫布的

驗證碼技術是網站開發過程中比較重要的技術,可以防止非法人員利用注冊機或者登陸工具來攻擊我們的網站。下面是效果圖:

具體實現方法如下:

1、主要思路是:引用Using System.Drawing命名空間,利用Graphics的FromImage方法創建一個畫布,同時設置畫布的寬和高,然后通過Graphics類 的DrawString方法隨機生成的字符串繪制到畫布中,繪制驗證碼的同時,在畫布中利用SetPixel方法繪制一些色點,從而防止非法人員利用機器 人來進行登陸。當我們繪制驗證碼完畢后,在需要驗證碼的頁面中利用Image空間將其顯示出來,Image控件顯示驗證碼的HTML源碼設置如下:

<asp:Image ID="Image1" runat="server"ImageUrl="~/ValidateNum.aspx" />
<asp:LinkButton ID="LinkButton1" runat="server" style="font-size: small; ">看不清,換一張</asp:LinkButton>

2、這里所用到的ValidateNum.aspx頁面代碼如下:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Drawing;

public partial class ValidateNum : System.Web.UI.Page
{
 protected void Page_Load(object sender, EventArgs e)
 {
 if (!IsPostBack)
 {
 string validateNum = CreateRandomNum(4);//成生4位隨機字符串
 CreateImage(validateNum);//將生成的隨機字符串繪成圖片
 Session["ValidateNum"] = validateNum;//保存驗證碼
 }
 }
 //生成隨機字符串
 private string CreateRandomNum(int NumCount)
 {
 string allChar = "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,W,X,Y,Z";
 string[] allCharArray = allChar.Split(',');//拆分成數組
 string randomNum = "";
 int temp = -1;//記錄上次隨機數的數值,盡量避免產生幾個相同的隨機數

 Random rand = new Random();
 for (int i = 0; i < NumCount; i++)
 {
 if (temp != -1)
 {
 rand = new Random(i * temp * ((int)DateTime.Now.Ticks));
 }
 int t = rand.Next(35);
 if (temp == t)
 {
 return CreateRandomNum(NumCount);
 }
 temp = t;
 randomNum += allCharArray[t];
 }
 return randomNum;
 }
 //生成圖片
 private void CreateImage(string validateNum)
 {
 if (validateNum == null || validateNum.Trim() == String.Empty)
 return;
 //生成Bitmap圖像
 System.Drawing.Bitmap image = new System.Drawing.Bitmap(validateNum.Length * 12 + 10, 22);
 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", 12, (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(validateNum, 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();
 }
 }
}

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

asp.net生成字母和數字混合圖形驗證碼

asp.net生成字母和數字混合圖形驗證碼:驗證碼技術是網站開發過程中比較重要的技術,可以防止非法人員利用注冊機或者登陸工具來攻擊我們的網站。下面是效果圖: 具體實現方法如下: 1、主要思路是:引用Using System.Drawing命名空間,利用Graphics的FromImage方法創建一個畫布,同時設置畫布的
推薦度:
標簽: 創建 驗證碼 數字
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 欧洲97色综合成人网 | 亚洲精品第1页 | 欧美日韩精品一区二区三区四区 | 亚洲欧美日韩激情在线观看 | 亚洲国产精品免费 | 欧美一区二区精品 | 日韩欧美亚洲一区 | 国产成人一区在线播放 | 国产在线一区视频 | 图片专区亚洲 欧美 另类 | 成人久久久精品乱码一区二区三区 | 国产69精品久久久久777 | 国产日韩在线 | 国产精品系列在线观看 | 久久精品国产一区二区三区不卡 | 精品伊人久久久 | 国产在线一区视频 | 韩国精品在线观看 | 国产成人91一区二区三区 | 精品国产91久久久久 | 久久久久国产一级毛片高清版 | 五月婷婷中文字幕 | 日本色图在线观看 | 国产一区二区高清视频 | 久久久久国产成人精品亚洲午夜 | 亚洲精品午夜国产va久久成人 | 亚洲高清视频一区 | 一级成人a毛片免费播放 | 国产精品亚洲专区在线观看 | 久热青青青在线视频精品 | 国产精品毛片一区二区三区 | 国产自产21区 | 国产精品最新 | 久久久久久亚洲精品不卡 | 久久99精品久久久久久青青91 | 欧美日韩国产一区二区 | 亚洲欧美中文日韩综合 | 91欧美在线| 亚洲一区二区在线免费观看 | 四虎影视最新地址 | 国产精品久久久久一区二区 |