<验证码的产生>C语言---验证码的产生和验证
登录时产生验证码的问题。首先产生随机数,然后让产生的随机数做为字符库(提前做好的数字字母字符串)的下标,就这样从字符库中随机提取出组成的小字符串就是最简单的字符串了,当然你可以自己创建字符库的内容。
以下是用C语言编写产生验证码和验证验证码的过程的代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#define N 5 void identifying_Code (char str[],int n) {
int i,j,len;
char pstr[] = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJLMNOPQRSTUVWXYZ";
len = strlen(pstr); //求字符串pstr的长度
srand(time());
for (i = ;i < n; i++) {
j = rand()%len; //生成0~len-1的随机数
str[i] = pstr[j];
}
str[i] = '\0';
} int main() {
int n = ;
int flag = ;
char code[N+],str[N+];
while (n) {
identifying_Code (code,N);
printf("请输入验证码<您还剩%d机会>:%s\n",n,code);
scanf("%s",str);
n--;
if(strcmp(code,str) == ) { //区分大小写的验证码
n = ;
flag = ;
printf("验证正确.\n");
}
}
if (flag == )
printf("对不起,您的账号已锁定.\n");
return ;
}
还有一种直接调用库函数的,比上面的写的代码还简单点,有兴趣的码友可以参考一下。
#include <cstdio>
#include <ctime>
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int main () {
int m, n;
srand (time (NULL));//初始化
n = rand() % ; //生成两位数的随机数
cout << n << endl;
return ;
}
rand()函数需要的C语言头文件为 stdlib.h, c++的为 algorithm,当然也可以写cstdlib。它不需要参数就可以产生随机数。这里可以产生字母的,就是根据ASCII表。
欢迎码友评论,我会不断的修改使其变得完美,谢谢支持。
<验证码的产生>C语言---验证码的产生和验证的更多相关文章
- atitit 验证码理论与概览与 验证码规范 解决方案.docx
atitit 验证码理论与概览与 验证码规范 解决方案.docx 1.1. 验证码的前世今生1 1.2. 第三代:无知识型验证码1 1.3. 短信验证码1 1.4. 语言验证码1 1.5. 图片验证 ...
- iOS使用技能 - 短信,语言验证码的获取与验证小结
最近有学习一个小技能,这里小结一下,分享给大家,互相交流. 首先是大体步骤: 在mob官网注册,然后添加短信验证的应用 使用cocoapods导入框架 Podfile文件: platform :ios ...
- Python 爬虫入门(四)—— 验证码上篇(主要讲述验证码验证流程,不含破解验证码)
本篇主要讲述验证码的验证流程,包括如何验证码的实现.如何获取验证码.识别验证码(这篇是人来识别,机器识别放在下篇).发送验证码.同样以一个例子来说明.目标网址 http://icp.alexa.cn/ ...
- 第二十三节:scrapy爬虫识别验证码(二)图片验证码识别
图片验证码基本上是有数字和字母或者数字或者字母组成的字符串,然后通过一些干扰线的绘制而形成图片验证码. 例如:知网的注册就有图片验证码 首先我们需要获取验证码图片,通过开发者工具我们可以得到验证码ur ...
- 爬虫(十二):图形验证码的识别、滑动验证码的识别(B站滑动验证码)
1. 验证码识别 随着爬虫的发展,越来越多的网站开始采用各种各样的措施来反爬虫,其中一个措施便是使用验证码.随着技术的发展,验证码也越来越花里胡哨的了.最开始就是几个数字随机组成的图像验证码,后来加入 ...
- python语言验证码识别,以后不用老输入验证码了。
1.Python 3.6 安装包 1.要加环境变量 2.pip安装PIL库 3.pip安装pytesseract模块 2.tesseract-ocr-setup-4.00.00dev.exe -- ...
- 验证码生成的c语言库
http://www.open-open.com/lib/view/open1324534929968.html
- 开发工具类API调用的代码示例合集:六位图片验证码生成、四位图片验证码生成、简单验证码识别等
以下示例代码适用于 www.apishop.net 网站下的API,使用本文提及的接口调用代码示例前,您需要先申请相应的API服务. 六位图片验证码生成:包括纯数字.小写字母.大写字母.大小写混合.数 ...
- [验证码识别技术] 字符型验证码终结者-CNN+BLSTM+CTC
验证码识别(少样本,高精度)项目地址:https://github.com/kerlomz/captcha_trainer 1. 前言 本项目适用于Python3.6,GPU>=NVIDIA G ...
随机推荐
- PDF.NET开发框架性能剖析
PDF.NET开发框架性能剖析 前俩天发布了 关于PDF.NET开发框架对Mysql Sqlite PostgreSQL数据库分页支持的个人看法 ,说明了本人对框架的一些介绍和看法.今天我们一起思考一 ...
- - 高级篇:二,IL设置静态属性,字段和类型转换
- 高级篇:二,IL设置静态属性,字段和类型转换 静态属性赋值 先来看 Reflector反射出的IL源码(感谢Moen的提示),这次用 Release模式编译,去掉那些无用的辅助指令 public ...
- 一个方便且通用的导出数据到 Excel 的类库
一个方便且通用的导出数据到 Excel 的类库 起源: 之前在做一个项目时,客户提出了许多的导出数据的需求: 导出用户信息 导出业务实体信息 各种查询都要能导出 导出的数据要和界面上看到的一致 可以分 ...
- tmux tutorial
This is a great tutorial about tmux quick start: http://www.youtube.com/watch?v=wKEGA8oEWXw&nore ...
- hibernate4 spring3.2 事务不提交分析
最近在做微信项目,我搭建了一个基于servlet,spring3.2,hibernate4.1的框架.因为基于消息的servlet和基于业务层是分开做的,也就是先把业务层做了,再去将所有的请求转到业务 ...
- D3D游戏降帧的动态创建D3D设备以及ShellCode HOOK玩法
欢迎转载,转载请注明出处:http://blog.csdn.net/gnorth/article/details/9327971 说白了,也就是HOOK掉Present,这种代码,其实百度上某些地方有 ...
- PPT资料下载 - 问题驱动的软件测试设计:强化测试用例设计
测试用例设计是整个软件测试过程中非常重要的测试活动,需求规格说明是测试人员开展测试设计的主要参考输入.而在测试实践中基于需求规格说明得到的测试用例,在测试覆盖率.测试效率.测试有效性和测试质量等方面的 ...
- 350 - Pseudo-Random Numbers
Pseudo-Random Numbers Computers normally cannot generate really random numbers, but frequently are ...
- 函数sql黑马程序员——SQL常用函数
最近使用开辟的过程中出现了一个小问题,顺便记录一下原因和方法--函数sql ---------------------- ASP.Net+Android+IO开辟S..Net培训.等待与您交流! -- ...
- nginx错误:unknown directive "锘? in F:\nginx/conf/nginx.conf:3
C:\Users\Administrator>d: D:\>cd D:\nginx-1.4.7 D:\nginx-1.4.7>start nginx.exe D:\nginx-1.4 ...