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进行基础的函数式编程的教程
Mar 31 Python
python开发之list操作实例分析
Feb 22 Python
python 删除大文件中的某一行(最有效率的方法)
Aug 19 Python
Python实现公历(阳历)转农历(阴历)的方法示例
Aug 22 Python
Python冲顶大会 快来答题!
Jan 17 Python
对python调用RPC接口的实例详解
Jan 03 Python
基于PyQt4和PySide实现输入对话框效果
Feb 27 Python
Python实现计算文件MD5和SHA1的方法示例
Jun 11 Python
用Pytorch训练CNN(数据集MNIST,使用GPU的方法)
Aug 19 Python
关于Python3 类方法、静态方法新解
Aug 30 Python
DjangoWeb使用Datatable进行后端分页的实现
May 18 Python
PyCharm常用配置和常用插件(小结)
Feb 06 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
discuz论坛 用户登录 后台程序代码
2008/11/27 PHP
PHP的explode和implode的使用说明
2011/07/17 PHP
yii实现创建验证码实例解析
2014/07/31 PHP
php使用ob_start()实现图片存入变量的方法
2014/11/14 PHP
在SAE上搭建最新wordpress的方法
2014/12/21 PHP
php中smarty变量修饰用法实例分析
2015/06/11 PHP
PHP实现一维数组与二维数组去重功能示例
2018/05/24 PHP
tp5框架无刷新分页实现方法分析
2019/09/26 PHP
Laravel 模型使用软删除-左连接查询-表起别名示例
2019/10/24 PHP
laravel 5.5 关闭token的3种实现方式
2019/10/24 PHP
jquery弹出关闭遮罩层实例
2013/08/06 Javascript
jquery、js调用iframe父窗口与子窗口元素的方法整理
2014/07/31 Javascript
项目中常用的JS方法整理
2015/01/30 Javascript
3种js实现string的substring方法
2015/11/09 Javascript
Angular.js回顾ng-app和ng-model使用技巧
2016/04/26 Javascript
javascript获取网页各种高宽及位置的方法总结
2016/07/27 Javascript
AngularJS基础 ng-submit 指令简单示例
2016/08/03 Javascript
js实现手机发送验证码功能
2017/03/13 Javascript
vuejs中监听窗口关闭和窗口刷新事件的方法
2018/09/21 Javascript
浅入深出Vue之组件使用
2019/07/11 Javascript
ES6的异步操作之promise用法和async函数的具体使用
2019/12/06 Javascript
用Python代码来解图片迷宫的方法整理
2015/04/02 Python
使用Python的Dataframe取两列时间值相差一年的所有行方法
2018/07/10 Python
python学生管理系统
2019/01/30 Python
python实现点击按钮修改数据的方法
2019/07/17 Python
Django Form 实时从数据库中获取数据的操作方法
2019/07/25 Python
tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this T
2020/06/22 Python
python爬取微博评论的实例讲解
2021/01/15 Python
英国最大的自有市场,比亚马逊便宜:Flubit
2019/03/19 全球购物
Linux操作面试题
2015/02/11 面试题
十岁生日同学答谢词
2014/01/19 职场文书
信电学院毕业生自荐书
2014/05/24 职场文书
2014最新离职证明范本
2014/09/12 职场文书
开发房地产协议书
2014/09/14 职场文书
党支部承诺书
2015/01/20 职场文书
2015年大班保育员工作总结
2015/05/18 职场文书