验证码函数C语言 c语言验证码代码

用c语言编写验证码个人觉得 , 提问者的难点应该是在随机生成4个汉字,至于验证什么的应该不是问题 。
4个汉字其实就是8个字节 , 主要是得搞清楚汉字是扩展ascii嘛的取值范围,然后用随机函数生成这个范围的值就OK了 。
如何用c语言实现验证码的校验?什么校验方法?
CRC检验如下:
#includestdio.h
int binaryToDec(char *str)
{
unsigned n=0;
while(*str!='\0')
{
if(*str'0'||*str'9')return -1;
n=n*2+(*str-'0');
str++;
}
return n;
}
void printBinary(int n)
{
if(n1)printBinary(n/2);
printf("%d",n%2);
【验证码函数C语言 c语言验证码代码】}
void main()
{
unsigned n,m,CRC=0x1A8000,fD=0x100000;
char CRC16[32];
while(1)
{
printf("输入16位校验码:");
gets(CRC16);
n=binaryToDec(CRC16);
if(n65535)
printf("输入值过长,请重新输入\n");
else break;
}
n=5;//n左移5位
m=n;//m等于n
while(fD0x20)
{
while( !(mfD)!(CRC1) )//保证被除数第一位为1
{
CRC=1;//除数右移一位
fD=1;//被除数首位的标志位右移一位
}
m=m^CRC;//被除数与除数相异或
}
n+=m;//模二余数相加
printf("输出21位校验码:");
printBinary(n);
printf("\n");
getchar();
}
C语言实训,生成不重复的验证码#include //提供printf函数声明定义
#include //提供srand函数声明定义rand
#include //提供time函数
int is_same(int *t,int lo,int x);
int main()
{
int a[10];
int num=20;
int t,i;
srand(time(0));
//函数提供种即time(0)系统间秒数让rand()函数提供数字每秒都
while(num0) //循环数
{
for(i=0;i10;i++) //获取行10数
{
while(1) //每随机获取数
{
t=rand()%10;
if(i==0)
{
a[i]=t;
break;
}
if(is_same(a,i,t)==0) //必须相同才能获取行数
{
a[i]=t;
break;
}
}
printf("%d ",t);
}
printf("\n");
num--;
}
return 0;
}
int is_same(int *t,int lo,int x) //否相同
{
int i;
for(i=0;ilo;i++)
{
if(*(t+i)==x) //相同返真
return 1;
}
return 0; //否则返假
}
请问C语言验证码代码怎么打?用strcmp函数比较两个字符串,你上图一个生成的字符串,另一个输入的字符串,把这两个传递到函数里,函数返回0就说明两个字符串相等,输入正确,反之输入错误 。(头文件导入string.h) 。
验证码函数C语言的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言验证码代码、验证码函数C语言的信息别忘了在本站进行查找喔 。

    推荐阅读