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 相关文章推荐
django实现同一个ip十分钟内只能注册一次的实例
Nov 03 Python
Django中间件工作流程及写法实例代码
Feb 06 Python
Python二叉树定义与遍历方法实例分析
May 25 Python
Python定时发送消息的脚本:每天跟你女朋友说晚安
Oct 21 Python
python3 cvs将数据读取为字典的方法
Dec 22 Python
基于Numpy.convolve使用Python实现滑动平均滤波的思路详解
May 16 Python
分享8个非常流行的 Python 可视化工具包
Jun 05 Python
Python多线程及其基本使用方法实例分析
Oct 29 Python
Python3 pickle对象串行化代码实例解析
Mar 23 Python
python中实现栈的三种方法
Dec 19 Python
Python读取ini配置文件传参的简单示例
Jan 05 Python
Django与数据库交互的实现
Jun 03 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 安全过滤函数代码
2011/05/07 PHP
PHP获取POST数据的几种方法汇总
2015/03/03 PHP
JavaScript判断一个URL链接是否有效的实现方法
2011/10/08 Javascript
web开发人员学习jQuery的6大理由及jQuery的优势介绍
2013/01/03 Javascript
JS可以控制样式的名称写法一览
2014/01/16 Javascript
js函数调用的方式
2014/05/06 Javascript
jQuery中live()方法用法实例
2015/01/19 Javascript
基于jquery实现最简单的选项卡切换效果
2016/05/08 Javascript
jQuery基于扩展简单实现倒计时功能的方法
2016/05/14 Javascript
改变checkbox默认选中状态及取值的实现代码
2016/05/26 Javascript
jQuery解析XML 详解及方法总结
2016/09/28 Javascript
AngularJS指令用法详解
2016/11/02 Javascript
JS匿名函数类生成方式实例分析
2016/11/26 Javascript
MvcPager分页控件 适用于Bootstrap
2017/06/03 Javascript
Vue组件化开发思考
2018/02/02 Javascript
async/await地狱该如何避免详解
2018/05/10 Javascript
vue 路由嵌套高亮问题的解决方法
2018/05/17 Javascript
Angular脚手架开发的实现步骤
2019/04/09 Javascript
[01:56]林书豪DOTA2上海特级锦标赛励志短片
2016/03/05 DOTA
Pyhton中防止SQL注入的方法
2015/02/05 Python
Python实现windows下模拟按键和鼠标点击的方法
2015/03/13 Python
深入了解Python数据类型之列表
2016/06/24 Python
Python队列的定义与使用方法示例
2017/06/24 Python
Centos 升级到python3后pip 无法使用的解决方法
2018/06/12 Python
Python实现简单的用户交互方法详解
2018/09/25 Python
Python爬取豆瓣视频信息代码实例
2019/11/16 Python
几款Python编译器比较与推荐(小结)
2020/10/15 Python
玩具反斗城天猫官方旗舰店:享誉全球的玩具店
2017/10/10 全球购物
Lungolivigno Fashion官网:高级时装在线购物
2020/10/17 全球购物
小学教师听课制度
2014/02/01 职场文书
乔迁之喜主持词
2014/03/27 职场文书
个人安全生产承诺书
2014/05/22 职场文书
大学生联谊活动策划书(光棍节)
2014/10/10 职场文书
云南省召开党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
网上祭英烈活动总结
2015/02/04 职场文书
寻衅滋事罪辩护词
2015/05/21 职场文书