Python实现简单生成验证码功能【基于random模块】


Posted in Python onFebruary 10, 2018

本文实例讲述了Python实现简单生成验证码功能。分享给大家供大家参考,具体如下:

验证码一般用来验证登陆、交易等行为,减少对端为机器操作的概率,python中可以使用random模块,char()内置函数来实现一个简单的验证码功能。

import random
def veri_code():
  li = []
  for i in range(6): #循环6次,生成6个字符
    r = random.randrange(0, 5) #随机生成0-4之间的数字
    if r == 1 or r == 4:  #如果随机数字是1或者4时,生成0-9的数字
      num = random.randrange(0, 9)
      li.append(str(num))
    else:  #如果不是1或者4时,生成65-90之间的数字
      temp = random.randrange(65, 91)
      char = chr(temp)  #将数字转化为ascii列表中对应的字母
      li.append(char)
  r_code = ''.join(li)  #6个字符拼接为字符串
#  print('\033[31;1m%s\033[0m' % r_code)
  return r_code  #返回字符串
#测试
print(veri_code())#运行结果:BKT8RL

基本原理是使用random,随机生成数字:

1.要几个字符就循环几次

2.随机生成一个数字,定义如果这个数字为其中某值X时,再随机一个0-9中间的数字。为什么0-9呢,因为10的话就占了两个字符了........

3.循环时,随机数字如果不为X时,生成一个65-90之间的数字,然后使用char()函数转化为ascii列表中对应的字母,当然就是大写的A-Z啦

4.将生成的字符加入列表,最后将列表拼接成字符串就O了

Python 相关文章推荐
介绍Python中内置的itertools模块
Apr 29 Python
Python3读取文件常用方法实例分析
May 22 Python
详解Python中的Descriptor描述符类
Jun 14 Python
python实现人脸识别经典算法(一) 特征脸法
Mar 13 Python
django表单实现下拉框的示例讲解
May 29 Python
Python3 A*寻路算法实现方式
Dec 24 Python
浅谈python累加求和+奇偶数求和_break_continue
Feb 25 Python
python argparse模块通过后台传递参数实例
Apr 20 Python
8种常用的Python工具
Aug 05 Python
解决阿里云邮件发送不能使用25端口问题
Aug 07 Python
Python获取excel内容及相关操作代码实例
Aug 10 Python
Python实现单例模式的5种方法
Jun 15 Python
Django中Forms的使用代码解析
Feb 10 #Python
Python中列表与元组的乘法操作示例
Feb 10 #Python
Python程序运行原理图文解析
Feb 10 #Python
Python迭代器和生成器定义与用法示例
Feb 10 #Python
Python中装饰器学习总结
Feb 10 #Python
Python基于hashlib模块的文件MD5一致性加密验证示例
Feb 10 #Python
Python中生成器和迭代器的区别详解
Feb 10 #Python
You might like
php三种实现多线程类似的方法
2015/10/30 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
2015/12/22 PHP
PHP使用file_get_content设置头信息的方法
2016/02/14 PHP
PHP针对redis常用操作实例详解
2019/08/17 PHP
javascript实现原生ajax的几种方法介绍
2013/09/21 Javascript
php结合imgareaselect实现图片裁剪
2015/07/05 Javascript
JavaScript对数组进行随机重排的方法
2015/07/22 Javascript
浅析js中substring和substr的方法
2015/11/09 Javascript
每天一篇javascript学习小结(Array数组)
2015/11/11 Javascript
JS判断是否长按某一键的方法
2016/03/02 Javascript
JS实现浏览器打印、打印预览示例
2017/02/28 Javascript
Node.js开发第三方微信公众平台
2017/06/05 Javascript
基于jquery日历价格、库存等设置插件
2020/07/05 jQuery
浅谈angularJS的$watch失效问题的解决方案
2017/08/11 Javascript
小程序文字跑马灯效果
2018/12/28 Javascript
Node.js API详解之 net模块实例分析
2020/05/18 Javascript
关于vue属性使用和不使用冒号的区别说明
2020/10/22 Javascript
ES6学习教程之Promise用法详解
2020/11/22 Javascript
详解python中的文件与目录操作
2017/07/11 Python
Django实现跨域请求过程详解
2019/07/25 Python
Windows系统Python直接调用C++ DLL的方法
2019/08/01 Python
Python imageio读取视频并进行编解码详解
2019/12/10 Python
Python写出新冠状病毒确诊人数地图的方法
2020/02/12 Python
Keras模型转成tensorflow的.pb操作
2020/07/06 Python
解决Python安装cryptography报错问题
2020/09/03 Python
html5 冒号分隔符对齐的实现
2019/07/31 HTML / CSS
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
莱德杯高尔夫欧洲官方商店:Ryder Cup Shop
2019/08/14 全球购物
酒店管理自荐信
2013/10/23 职场文书
检察官就职演讲稿
2014/01/13 职场文书
九年级物理教学反思
2014/01/29 职场文书
学生会部长竞聘书
2014/03/31 职场文书
学校勤俭节约倡议书
2015/04/29 职场文书
Nginx反爬虫策略,防止UA抓取网站
2021/03/31 Servers
MySQL磁盘碎片整理实例演示
2022/04/03 MySQL
IDEA中sout快捷键无效问题的解决方法
2022/07/23 Java/Android