
验证码实际上就是数字或者字符 在一个小框内显示 并且涂上一些彩色的线
其实在后台会有存储验证码的字段存在的
用户输入的内容跟这个字段相比较 就可以判断输入的正不正确了
#include<reg51h>
#define uchar unsigned char
uchar keyval,keynum=0;
void t1isr() interrupt 3
{
uchar sccode,recode;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
P3=0x0f; //发0扫描,列线输入
if ((P3 & 0x0f) != 0x0f)keynum++; //有键按下
else keynum=0;
if(keynum>5) //按键保持在5次中断以上
{
keynum=0;
sccode = 0xef; //逐行扫描初值
while((sccode&0x01)!=0)
{
P3=sccode;
if((P3&0x0f)!=0x0f)
{
recode=(P3&0x0f)|0xf0;
getkey((~sccode)+(~recode));
}
else
sccode=(sccode<<1)|0x01;
}
}
getkey(0);
}
void getkey(uchar key)
{
if(key==0){keyval=0xff;return;}
switch(key)
{
case 0x11:keyval=7;break;
case 0x12:keyval=4;break;
case 0x14:keyval=1;break;
case 0x18:keyval=10;break;
case 0x21:keyval=8;break;
case 0x22:keyval=5;break;
case 0x24:keyval=2;break;
case 0x28:keyval=0;break;
case 0x41:keyval=9;break;
case 0x42:keyval=6;break;
case 0x44:keyval=3;break;
case 0x48:keyval=11;break;
case 0x81:keyval=12;break;
case 0x82:keyval=13;break;
case 0x84:keyval=14;break;
case 0x88:keyval=15;break;
default:keyval=0xff;break;
}
}
main()
{
uchar mima[]="12345678";
uchar mmins[8];
uchar i,num,sc;
TMOD=0x21;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
TR0=1;
ET0=1;
TH1=0xfd;
TL1=0xfd;
TR1=1;
SCON=0x40;
EA=1;
num=0;
while(1)
{
if(keyval!=0xff){mmins[num]=keyval;num++;}
if(num>=8)
{
num=0;
sc=1;
for(i=0;i<8;i++)
{
if(mmins[i]!=mima[i]){sc=0;break;}
SBUF=sc;
while(TI==0);
TI=0;
}
}
}
}
你可以用一个label窗体,用其文本窗体显示随机数,然后用textbox的文本值与lable的text值做比较下面是代码的核心部分你看一下吧,对你可能有点帮助 private static char[] constant ={'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','v','w','x','y','z',
'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'
};
public Form1()
{
InitializeComponent();
}
public static string GetRandomNumber(int Len)
{
SystemTextStringBuilder newRandom = new StringBuilder(62);
Random rd = new Random();
for (int i = 0; i < Len; i++)
{
newRandomAppend(constant[rdNext(62)]);
}
return newRandomToString();
} private void Form1_Load(object sender, EventArgs e)
{
thislabel1Text = GetRandomNumber(5);
} private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
thislabel1Text = GetRandomNumber(5);
}
#include<stdioh>
#include<stringh>
int comp1(char a,char b,int n);
int comp2(char a,char b,int n);
void main()
{
int j;
int m,n;
char username[16],password[16];
aa: printf("Input username:");
scanf("%s",username);
printf("Input password:");
scanf("%s",password);
j = strlen(username);
m = comp1(username,password,j);
n = comp2(username,password,j);
if(m||n==1)
printf("用户名密码正确!\n");
else
{
printf("用户名密码不匹配!重新输入:\n");
goto aa;
}
}
int comp1(char a,char b,int n)
{
int i;
for(i=0;i<n;i++)
a[i]=a[i]-32;
if(strcmp(a,b)==0)
return 1;
else
return 0;
}
int comp2(char a,char b,int n)
{
int i;
for(i=0;i<n;i++)
a[i]=a[i]+32;
if(strcmp(a,b)==0)
return 1;
else
return 0;
}
以上就是关于程序是如何知道用户输入的验证码对不对的全部的内容,包括:程序是如何知道用户输入的验证码对不对的、51单片机C语言,电子密码的验证输入程序,矩阵键盘用作输入,密码正确时,向串口送1,否则送0、c# winform程序 如何判断用户输入的验证码是否正确等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)