亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識(shí)庫 > asp.net中3種驗(yàn)證碼示例(實(shí)現(xiàn)代碼)(數(shù)字,數(shù)字字母混和,漢字)

asp.net中3種驗(yàn)證碼示例(實(shí)現(xiàn)代碼)(數(shù)字,數(shù)字字母混和,漢字)

熱門標(biāo)簽:外呼系統(tǒng)用員工身份證 蘇州銷售外呼系統(tǒng)預(yù)算 太原外呼電銷機(jī)器人費(fèi)用 淘寶地圖標(biāo)注如何做 東莞語音電銷機(jī)器人排名 朝陽市地圖標(biāo)注 電話機(jī)器人廣告話術(shù) 保山電話外呼管理系統(tǒng)怎么用 使用智能電話機(jī)器人違法嗎
效果如圖所示:


Default.aspx
復(fù)制代碼 代碼如下:

table>
tr>
td class="style1">
nbsp;(驗(yàn)證碼測(cè)試)/td>
td>
nbsp; asp:Label
ID="Label1" runat="server">/asp:Label>
nbsp;
asp:Image ID="Image1" runat="server" Height="22px" ImageUrl="~/ValidNums.aspx" Width="58px" />nbsp;
asp:Image ID="Image2" runat="server" Height="22px" ImageUrl="~/GetValid.aspx" Width="58px" />/td>
/tr> tr>
td class="style1">
nbsp;
/td>
td>
nbsp;nbsp;asp:Button ID="Button1" runat="server" Text="登錄" OnClick="btnOK_Click" />
nbsp;nbsp;
asp:Button ID="Button2" runat="server" Text="取消" />
/td>
/tr>
/table>

復(fù)制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
string getNums = GetVali();
Label1.Text = getNums;
}
}

/// summary>
/// 隨機(jī)生成4位數(shù)
/// /summary>
/// returns>返回生成的隨機(jī)數(shù)/returns>
public string GetVali()
{
string strsvali = "0,1,2,3,4,5,6,7,8,9";
string[] ValiArray = strsvali.Split(',');
string ReturnNum = "";
int nums = -1;
Random vrand = new Random();
for (int n = 1; n 5; n++)
{
if (nums != -1)
{
vrand = new Random(n * nums * unchecked((int)DateTime.Now.Ticks));
}
int t = vrand.Next(10);
nums = t;
ReturnNum += ValiArray[t];
}
Session["Valid"] = ReturnNum;
return ReturnNum;
}
protected void btnOK_Click(object sender, EventArgs e)
{
if (Session["Valid"].ToString() == TextBox3.Text)
{
ClientScript.RegisterStartupScript(this.GetType(),"ss","script>alert('您已經(jīng)成功通過登錄驗(yàn)證!')/script>");
}
else
{
ClientScript.RegisterStartupScript(this.GetType(), "ss", "script>alert('您輸入的驗(yàn)證碼錯(cuò)誤!')/script>");
}
}
}

GetValid.aspx
(可以直接將該頁面作為源賦值給ImageUrl)
前臺(tái)為空,后臺(tái)代碼如下:
復(fù)制代碼 代碼如下:

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.Text;
using System.Drawing;

public partial class GetValid : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string validateNum = GetValids(); //成生4位隨機(jī)字符串
CreateImage(validateNum); //將生成的隨機(jī)字符串繪成圖片
Session["ValidNums"] = validateNum; //保存驗(yàn)證碼
}
}
public static string GetValids()
{
//獲取GB2312編碼頁(表)
Encoding gb = Encoding.GetEncoding("gb2312");

//調(diào)用函數(shù)產(chǎn)生4個(gè)隨機(jī)中文漢字編碼
object[] bytes = CreateRegionCode(4);

//根據(jù)漢字編碼的字節(jié)數(shù)組解碼出中文漢字

string s = String.Empty;
foreach (object byt in bytes)
{
string str1 = gb.GetString((byte[])Convert.ChangeType(byt, typeof(byte[])));
s = s + str1;
}

//輸出的控制臺(tái)
return s;
}
public static object[] CreateRegionCode(int strlength)
{
//定義一個(gè)字符串?dāng)?shù)組儲(chǔ)存漢字編碼的組成元素
string[] rBase = new String[16] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };

Random rnd = new Random();

//定義一個(gè)object數(shù)組用來
object[] bytes = new object[strlength];
/*每循環(huán)一次產(chǎn)生一個(gè)含兩個(gè)元素的十六進(jìn)制字節(jié)數(shù)組,并將其放入bject數(shù)組中
每個(gè)漢字有四個(gè)區(qū)位碼組成
區(qū)位碼第1位和區(qū)位碼第2位作為字節(jié)數(shù)組第一個(gè)元素
區(qū)位碼第3位和區(qū)位碼第4位作為字節(jié)數(shù)組第二個(gè)元素
*/
for (int i = 0; i strlength; i++)
{
//區(qū)位碼第1位
int r1 = rnd.Next(11, 14);
string str_r1 = rBase[r1].Trim();

//區(qū)位碼第2位
rnd = new Random(r1 * unchecked((int)DateTime.Now.Ticks) + i);
//更換隨機(jī)數(shù)發(fā)生器的種子避免產(chǎn)生重復(fù)值
int r2;
if (r1 == 13)
{
r2 = rnd.Next(0, 8);
}
else
{
r2 = rnd.Next(0, 16);
}
string str_r2 = rBase[r2].Trim();

//區(qū)位碼第3位
rnd = new Random(r2 * unchecked((int)DateTime.Now.Ticks) + i);
int r3 = rnd.Next(10, 16);
string str_r3 = rBase[r3].Trim();

//區(qū)位碼第4位
rnd = new Random(r3 * unchecked((int)DateTime.Now.Ticks) + i);
int r4;
if (r3 == 10)
{
r4 = rnd.Next(1, 16);
}
else if (r3 == 15)
{
r4 = rnd.Next(0, 15);
}
else
{
r4 = rnd.Next(0, 16);
}
string str_r4 = rBase[r4].Trim();

//定義兩個(gè)字節(jié)變量存儲(chǔ)產(chǎn)生的隨機(jī)漢字區(qū)位碼
byte byte1 = Convert.ToByte(str_r1 + str_r2, 16);
byte byte2 = Convert.ToByte(str_r3 + str_r4, 16);
//將兩個(gè)字節(jié)變量存儲(chǔ)在字節(jié)數(shù)組中
byte[] str_r = new byte[] { byte1, byte2 };

//將產(chǎn)生的一個(gè)漢字的字節(jié)數(shù)組放入object數(shù)組中
bytes.SetValue(str_r, i);

}

return bytes;

}
//生成圖片
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
{
//生成隨機(jī)生成器
Random random = new Random();

//清空?qǐng)D片背景色
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.Coral), x1, y1, x2, y2);
}

Font font = new System.Drawing.Font("Arial", 8);
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);

//畫圖片的前景噪音點(diǎn)
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();
}
}
}

ValidNums.aspx
(可以直接將該頁面作為源賦值給ImageUrl)
前臺(tái)為空,后臺(tái)代碼如下:
復(fù)制代碼 代碼如下:

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 ValidNums : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string validateNum = CreateRandomNum(4); //成生4位隨機(jī)字符串
CreateImage(validateNum); //將生成的隨機(jī)字符串繪成圖片
Session["ValidNums"] = validateNum; //保存驗(yàn)證碼
}
}
//生成隨機(jī)字符串
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(',');//拆分成數(shù)組
string randomNum = "";
int temp = -1;//記錄上次隨機(jī)數(shù)的數(shù)值,盡量避免產(chǎn)生幾個(gè)相同的隨機(jī)數(shù)
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
{
//生成隨機(jī)生成器
Random random = new Random();

//清空?qǐng)D片背景色
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.Coral), 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);

//畫圖片的前景噪音點(diǎn)
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();
}
}
}

以上是3種驗(yàn)證碼的全部代碼。
另外也可以使用ashx請(qǐng)求驗(yàn)證碼的方式,本示例僅使用Session存值處理。
您可能感興趣的文章:
  • asp.net 驗(yàn)證碼生成和刷新及驗(yàn)證
  • asp.net(C#) 生成隨機(jī)驗(yàn)證碼的代碼
  • asp.net 簡(jiǎn)單驗(yàn)證碼驗(yàn)證實(shí)現(xiàn)代碼
  • ASP.NET MVC驗(yàn)證碼功能實(shí)現(xiàn)代碼
  • ASP.NET中的無刷新驗(yàn)證碼的開發(fā)(完整代碼)
  • asp.net 圖片驗(yàn)證碼的HtmlHelper
  • asp.net生成驗(yàn)證碼(純數(shù)字)
  • asp.net 驗(yàn)證碼的簡(jiǎn)單制作(vb.net+C#)
  • asp.net下生成英文字符數(shù)字驗(yàn)證碼的代碼
  • asp.net生成字母和數(shù)字混合圖形驗(yàn)證碼
  • Asp.net開發(fā)之webform圖片水印和圖片驗(yàn)證碼的實(shí)現(xiàn)方法
  • ASP.NET實(shí)現(xiàn)的生成驗(yàn)證碼功能示例【附demo源碼】

標(biāo)簽:洛陽 潛江 西藏 運(yùn)城 呼倫貝爾 克拉瑪依 阿里 綏化

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《asp.net中3種驗(yàn)證碼示例(實(shí)現(xiàn)代碼)(數(shù)字,數(shù)字字母混和,漢字)》,本文關(guān)鍵詞  asp.net,中,3種,驗(yàn)證,碼,示例,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《asp.net中3種驗(yàn)證碼示例(實(shí)現(xiàn)代碼)(數(shù)字,數(shù)字字母混和,漢字)》相關(guān)的同類信息!
  • 本頁收集關(guān)于asp.net中3種驗(yàn)證碼示例(實(shí)現(xiàn)代碼)(數(shù)字,數(shù)字字母混和,漢字)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    午夜久久网| 91麻豆爱豆果冻天美星空| 午夜精品国产自在现线拍| 999久久狠狠免费精品| 高清一级片| 可以在线看黄的网站| 麻豆系列国产剧在线观看| 国产国语在线播放视频| 久久国产精品只做精品| 精品国产亚洲一区二区三区| 久久久久久久网| 国产成a人片在线观看视频| 精品视频在线观看视频免费视频| 91麻豆tv| 国产成a人片在线观看视频| 日韩免费在线视频| 韩国三级视频在线观看| 麻豆系列 在线视频| 四虎影视精品永久免费网站| 九九热精品免费观看| 四虎影视库| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产亚洲免费观看| 国产成人女人在线视频观看| 亚洲精品中文一区不卡| 日韩av东京社区男人的天堂| 精品视频在线观看一区二区| 国产一区免费观看| 亚洲精品影院久久久久久| 麻豆网站在线免费观看| 精品视频免费观看| 国产综合91天堂亚洲国产| 精品视频在线观看免费| 999精品视频在线| 久久国产精品只做精品| 国产综合成人观看在线| 日日日夜夜操| 亚洲女人国产香蕉久久精品| 精品视频免费看| 成人a大片高清在线观看| 精品国产亚洲人成在线| 国产美女在线一区二区三区| 国产91丝袜在线播放0| 国产91素人搭讪系列天堂| 欧美激情在线精品video| 精品视频在线看 | 久久精品免视看国产明星| 中文字幕97| 九九干| 国产一区二区精品在线观看| 天天色色网| 午夜激情视频在线观看| 韩国毛片 免费| 999久久66久6只有精品| 国产伦久视频免费观看 视频| 99色视频在线| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 可以免费在线看黄的网站| 夜夜操网| 精品国产一区二区三区久| 999精品视频在线| 四虎影视久久| 欧美1区| 亚洲第一色在线| 91麻豆精品国产自产在线观看一区| 黄色福利片| 日韩在线观看视频网站| 日本在线www| 精品国产亚洲人成在线| 可以免费看毛片的网站| 日本特黄特色aaa大片免费| 免费毛片播放| 欧美激情一区二区三区视频高清| 日韩一级精品视频在线观看| 成人免费网站视频ww| 亚洲第一视频在线播放| 色综合久久天天综合观看| 麻豆午夜视频| 黄色福利片| 国产视频一区在线| 亚洲女人国产香蕉久久精品 | 国产福利免费观看| 精品国产亚洲一区二区三区| 黄色短视频网站| 韩国妈妈的朋友在线播放| 久久精品店| 午夜激情视频在线播放| 欧美一级视频免费| 久久99中文字幕| 国产成人欧美一区二区三区的| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 美女免费精品视频在线观看| 欧美激情一区二区三区在线播放| 日本免费看视频| 国产成人啪精品视频免费软件| 日本伦理片网站| 中文字幕一区二区三区精彩视频 | 国产成人精品影视| 国产国语在线播放视频| 日本在线不卡视频| 国产激情视频在线观看| 午夜在线亚洲| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 一级毛片视频在线观看| 国产不卡精品一区二区三区| 国产一区二区精品久久91| 国产亚洲男人的天堂在线观看| 欧美激情一区二区三区在线| 亚洲精品影院| 欧美日本二区| 欧美爱色| 日韩在线观看免费完整版视频| 国产精品123| 美女被草网站| 香蕉视频久久| 国产a网| 韩国毛片免费| 国产视频久久久久| 国产极品白嫩美女在线观看看| 日韩中文字幕在线播放| 精品视频在线观看免费| 成人免费观看男女羞羞视频| 精品视频在线观看免费| 精品视频在线观看免费| 九九免费精品视频| 国产一区二区精品久久91| 青青久久精品国产免费看| 国产一区二区精品| 久久国产精品永久免费网站| 麻豆系列 在线视频| 国产麻豆精品视频| 麻豆网站在线看| 台湾毛片| 国产国产人免费视频成69堂| 天天做日日干| 美女免费黄网站| 国产视频一区在线| 韩国三级视频在线观看| 国产一级生活片| 91麻豆精品国产自产在线观看一区| 亚洲不卡一区二区三区在线 | 91麻豆国产| 99久久精品国产片| 精品美女| 欧美国产日韩精品| 国产a网| 四虎影视精品永久免费网站| 成人免费观看男女羞羞视频| 精品久久久久久影院免费| 免费毛片播放| 精品国产亚洲人成在线| 欧美大片一区| 欧美1卡一卡二卡三新区| 国产精品1024永久免费视频 | 天天做日日爱夜夜爽| 国产视频在线免费观看| 欧美一级视频免费观看| 国产伦理精品| 日本伦理网站| 午夜在线亚洲| 黄视频网站免费观看| 韩国毛片 免费| 国产一区二区精品久| a级黄色毛片免费播放视频| 国产a视频| 久久久久久久免费视频| 亚洲第一页乱| 91麻豆国产福利精品| 日韩中文字幕在线观看视频| 欧美爱色| 成人a大片在线观看| 欧美激情一区二区三区在线| 亚洲不卡一区二区三区在线 | 国产a视频| 亚洲精品影院久久久久久| 国产一区二区精品久久91| 久久久久久久免费视频| 99色精品| 黄色免费网站在线| 夜夜操网| 国产成人啪精品| 欧美日本韩国| 日韩欧美一二三区| 中文字幕一区二区三区精彩视频 | 日韩中文字幕在线观看视频| 999久久66久6只有精品| 高清一级片| a级黄色毛片免费播放视频| 欧美日本二区| 欧美a级成人淫片免费看| 青草国产在线| 天天做日日干| 久久久久久久免费视频| 精品国产一区二区三区久久久蜜臀| 天天色成人| 美女免费精品视频在线观看| 二级特黄绝大片免费视频大片| 精品久久久久久综合网| 麻豆系列国产剧在线观看| 天天做人人爱夜夜爽2020毛片|