快捷搜索:

Asp.net(C#)实现验证码功能

新建一个专门用来创建验证码图片的页面ValidateCode.aspx
它的后台cs文件代码如下:
PageLoad

Asp.net(C#)实现验证码功能

private void Page_Load(object sender, System.EventArgs e)

Asp.net(C#)实现验证码功能

Asp.net(C#)实现验证码功能

        

Asp.net(C#)实现验证码功能

{

Asp.net(C#)实现验证码功能

            
string checkCode = CreateRandomCode(4);

Asp.net(C#)实现验证码功能

            Session[
"CheckCode"= checkCode;

Asp.net(C#)实现验证码功能

            CreateImage(checkCode);

Asp.net(C#)实现验证码功能

        }

其中CreateRandomCode是自定义的函数,参数代表验证码位数

Asp.net(C#)实现验证码功能

private string CreateRandomCode(int codeCount)

Asp.net(C#)实现验证码功能

Asp.net(C#)实现验证码功能

        

Asp.net(C#)实现验证码功能

{

Asp.net(C#)实现验证码功能

            
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" ;

Asp.net(C#)实现验证码功能

            
string[] allCharArray = allChar.Split(',');

Asp.net(C#)实现验证码功能

            
string randomCode = "";

Asp.net(C#)实现验证码功能

            
int temp = -1;

Asp.net(C#)实现验证码功能


Asp.net(C#)实现验证码功能

            Random rand 
= new Random();

Asp.net(C#)实现验证码功能

            
for(int i = 0; i < codeCount; i++)

Asp.net(C#)实现验证码功能

Asp.net(C#)实现验证码功能

            

Asp.net(C#)实现验证码功能

{

Asp.net(C#)实现验证码功能

                
if(temp != -1)

Asp.net(C#)实现验证码功能

Asp.net(C#)实现验证码功能

                

Asp.net(C#)实现验证码功能

{

Asp.net(C#)实现验证码功能

                    rand 
= new Random(i*temp*((int)DateTime.Now.Ticks));

Asp.net(C#)实现验证码功能

                }

Asp.net(C#)实现验证码功能

                
int t = rand.Next(35);

Asp.net(C#)实现验证码功能

                
if(temp == t)

Asp.net(C#)实现验证码功能

Asp.net(C#)实现验证码功能

                

Asp.net(C#)实现验证码功能

{

Asp.net(C#)实现验证码功能

                    
return CreateRandomCode(codeCount);

Asp.net(C#)实现验证码功能

                }

Asp.net(C#)实现验证码功能

                temp 
= t;

Asp.net(C#)实现验证码功能

                randomCode 
+= allCharArray[t];

Asp.net(C#)实现验证码功能

            }

Asp.net(C#)实现验证码功能

            
return randomCode;

Asp.net(C#)实现验证码功能

        }

CreateImage也是一个自定义的函数,用于生成图

您可能还会对下面的文章感兴趣: