Home Backend Development C#.Net Tutorial 3 types of verification code examples in asp.net (numbers, mixed numbers and letters, Chinese characters)

3 types of verification code examples in asp.net (numbers, mixed numbers and letters, Chinese characters)

Jan 13, 2017 pm 02:31 PM
Verification code

The effect is shown in the figure:

3 types of verification code examples in asp.net (numbers, mixed numbers and letters, Chinese characters)

##Default.aspx

<table> 
<tr> 
<td class="style1"> 
 (验证码测试)</td> 
<td> 
  <asp:Label 
ID="Label1" runat="server"></asp:Label> 
  
<asp:Image ID="Image1" runat="server" Height="22px" ImageUrl="~/ValidNums.aspx" Width="58px" />  
<asp:Image ID="Image2" runat="server" Height="22px" ImageUrl="~/GetValid.aspx" Width="58px" /></td> 
</tr> <tr> 
<td class="style1"> 
  
</td> 
<td> 
  <asp:Button ID="Button1" runat="server" Text="登录" OnClick="btnOK_Click" /> 
   
<asp:Button ID="Button2" runat="server" Text="取消" /> 
</td> 
</tr> 
</table>
Copy after login
rrree

GetValid.aspx

( You can directly assign this page as a source to ImageUrl)
The front desk is empty, and the background code is as follows:

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> 
/// 随机生成4位数 
/// </summary> 
/// <returns>返回生成的随机数</returns> 
public string GetVali() 
{ 
string strsvali = "0,1,2,3,4,5,6,7,8,9"; 
string[] ValiArray = strsvali.Split(&#39;,&#39;); 
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(&#39;您已经成功通过登录验证!&#39;)</script>"); 
} 
else 
{ 
ClientScript.RegisterStartupScript(this.GetType(), "ss", "<script>alert(&#39;您输入的验证码错误!&#39;)</script>"); 
} 
} 
}
Copy after login

ValidNums.aspx

(You can directly assign this page as a source to ImageUrl)
The front desk is empty, and the background code is as follows:

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位随机字符串 
CreateImage(validateNum); //将生成的随机字符串绘成图片 
Session["ValidNums"] = validateNum; //保存验证码 
} 
} 
public static string GetValids() 
{ 
//获取GB2312编码页(表) 
Encoding gb = Encoding.GetEncoding("gb2312"); 

//调用函数产生4个随机中文汉字编码 
object[] bytes = CreateRegionCode(4); 

//根据汉字编码的字节数组解码出中文汉字 

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

//输出的控制台 
return s; 
} 
public static object[] CreateRegionCode(int strlength) 
{ 
//定义一个字符串数组储存汉字编码的组成元素 
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(); 

//定义一个object数组用来 
object[] bytes = new object[strlength]; 
/*每循环一次产生一个含两个元素的十六进制字节数组,并将其放入bject数组中 
每个汉字有四个区位码组成 
区位码第1位和区位码第2位作为字节数组第一个元素 
区位码第3位和区位码第4位作为字节数组第二个元素 
*/ 
for (int i = 0; i < strlength; i++) 
{ 
//区位码第1位 
int r1 = rnd.Next(11, 14); 
string str_r1 = rBase[r1].Trim(); 

//区位码第2位 
rnd = new Random(r1 * unchecked((int)DateTime.Now.Ticks) + i); 
//更换随机数发生器的种子避免产生重复值 
int r2; 
if (r1 == 13) 
{ 
r2 = rnd.Next(0, 8); 
} 
else 
{ 
r2 = rnd.Next(0, 16); 
} 
string str_r2 = rBase[r2].Trim(); 

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

//区位码第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(); 

//定义两个字节变量存储产生的随机汉字区位码 
byte byte1 = Convert.ToByte(str_r1 + str_r2, 16); 
byte byte2 = Convert.ToByte(str_r3 + str_r4, 16); 
//将两个字节变量存储在字节数组中 
byte[] str_r = new byte[] { byte1, byte2 }; 

//将产生的一个汉字的字节数组放入object数组中 
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 
{ 
//生成随机生成器 
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.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); 

//画图片的前景噪音点 
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(); 
} 
} 
}
Copy after login

The above are all codes for the three verification codes.

You can also use ashx to request the verification code. This example only uses Session value processing.

For more related articles on 3 types of verification code examples in asp.net (numbers, mixed numbers and letters, Chinese characters), please pay attention to the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What should I do if Google Chrome does not display the verification code image? Chrome browser does not display the verification code? What should I do if Google Chrome does not display the verification code image? Chrome browser does not display the verification code? Mar 13, 2024 pm 08:55 PM

What should I do if Google Chrome does not display the verification code image? Sometimes you need a verification code to log in to a web page using Google Chrome. Some users find that Google Chrome cannot display the content of the image properly when using image verification codes. What should be done? The editor below will introduce how to deal with the Google Chrome verification code not being displayed. I hope it will be helpful to everyone! Method introduction: 1. Enter the software, click the "More" button in the upper right corner, and select "Settings" in the option list below to enter. 2. After entering the new interface, click the "Privacy Settings and Security" option on the left. 3. Then click "Website Settings" on the right

PHP image processing case: How to implement the verification code function of images PHP image processing case: How to implement the verification code function of images Aug 17, 2023 pm 12:09 PM

PHP image processing case: How to implement the verification code function of images. With the rapid development of the Internet, verification codes have become one of the important means to protect website security. Verification code is a verification method that uses image recognition technology to determine whether the user is a real user. This article will introduce how to use PHP to implement the verification code function of images, and come with code examples. Introduction A verification code is a picture containing random characters. The user needs to enter the characters in the picture to pass the verification. The main process of implementing verification code includes generating random characters and drawing characters into pictures.

Can virtual numbers receive verification codes? Can virtual numbers receive verification codes? Jan 02, 2024 am 10:22 AM

The virtual number can receive the verification code. As long as the mobile phone number filled in during registration complies with the regulations and the mobile phone number can be connected normally, you can receive the SMS verification code. However, you need to be careful when using virtual mobile phone numbers. Some websites do not support virtual mobile phone number registration, so you need to choose a regular virtual mobile phone number service provider.

Why can't I receive the verification code on my phone? Why can't I receive the verification code on my phone? Aug 17, 2023 pm 02:49 PM

Failure to receive the verification code on your mobile phone is caused by network problems, mobile phone settings problems, mobile phone operator problems and personal settings problems. Detailed introduction: 1. Network problems. The network environment where the mobile phone is located is unstable or the signal is weak, which may cause the verification code to be unable to be delivered in time; 2. Mobile phone setting problems. The text message or voice function of the mobile phone is accidentally turned off, or the The verification code sending number is added to the blacklist, resulting in the verification code not being received normally; 3. Mobile phone operator issues, the mobile phone operator may have malfunctions or maintenance, resulting in the verification code not being delivered in time, etc.

PHP Development Guide: Implementing Verification Code Login PHP Development Guide: Implementing Verification Code Login Jul 01, 2023 am 09:27 AM

With the development of the Internet and the popularity of smartphones, the verification code login function is adopted by more and more websites and applications. Verification code login is a login method that verifies the user's identity by entering the correct verification code to improve security and prevent malicious attacks. In PHP development, implementing a simple verification code login function is not complicated and can be completed through the following steps. Create a database table First, we need to create a table in the database to store verification code information. The table structure can contain the following fields: id: auto-incrementing primary key phon

Verification codes can't stop robots! Google AI can accurately identify blurry text, while GPT-4 pretends to be blind and asks for help Verification codes can't stop robots! Google AI can accurately identify blurry text, while GPT-4 pretends to be blind and asks for help Apr 12, 2023 am 09:46 AM

“The most annoying thing is all kinds of weird (or even perverted) verification codes when you log into a website.” Now, there is good news and bad news. The good news is: AI can do this for you. If you don’t believe me, here are three real cases of increasing recognition difficulty: And these are the answers given by a model called “Pix2Struct”: Are they all accurate and word for word? Some netizens lamented: Sure, the accuracy is better than mine. So can it be made into a browser plug-in? ? Yes, some people said: Even though these cases are relatively simple, if you just fine-tune it, I can't imagine how powerful the effect will be. So, the bad news is - the verification code will soon be unable to stop the robots! (Danger danger danger...) How to do it? Pix2St

How to create a verification code image using PHP? How to create a verification code image using PHP? Sep 13, 2023 am 11:40 AM

How to create a verification code image using PHP? CAPTCHA is a commonly used method to verify whether the user is a human and not a machine. On websites, we often see verification code images, which require users to enter random characters or numbers displayed on the image to complete operations such as login, registration, and commenting. This article will introduce how to use PHP to create a verification code image and provide specific code examples. 1. PHPGD library To create a verification code image, we need to use PHP's GD library. The GD library is an extension for processing images.

Use OCR technology to automatically identify various verification codes, and the tool has been open source Use OCR technology to automatically identify various verification codes, and the tool has been open source May 25, 2023 am 10:07 AM

Today I am sharing with you an OCR application - ddddocr automatically recognizes verification codes. The first four d's are the first pinyin of "daidai younger brother". [/Laughter]. Project address: https://github.com/sml2h3/ddddocr. When using it, use the pip command to install it directly, just pipinstalldddddocr. The core technology of OCR includes two aspects. One is the target detection model to detect the text in the picture, and the other is the text recognition model to convert the text in the picture into text. The first type of verification codes is the simplest. They do not have complex background images, so the target detection model can be omitted and the images can be directly sent to the text recognition model. The identification code is as follows: impor

See all articles