Python使用Timer实现验证码功能

from threading import Timer
import random

class Code:
    def __init__(self):
        self.make_cache()

    def make_cache(self,interval =15):
        self.cache = self.make_code()
        print(self.cache)
        self.t = Timer(interval,self.make_cache)
        self.t.start()

    def make_code(self,n=4):
        res = ‘‘
        for i in range(n):
            s1= str(random.randint(0,9))
            s2=chr(random.randint(65,90))
            res += random.choice([s1,s2])
        return res

    def check(self):
        while True:
            code = input(‘请输入验证码>>:‘).strip()
            if code.upper() == self.cache:
                print(‘验证码正确‘)
                self.t.cancel()
                break

obj=Code()
obj.check()

原文地址:https://www.cnblogs.com/stin/p/8535247.html

时间: 2024-11-25 14:28:03

Python使用Timer实现验证码功能的相关文章

Python中简化的验证码功能实现

1 #!/usr/bin/env python 2 # _*_ encoding:utf-8 _*_ 3 # author:snate 4 import random 5 def generate_auth_code(): 6 auth_code_list =[] 7 for i in range(6): # 要生成几个验证码循环几次 8 num = random.randint(0,5) # 随机生成0到5之间的数字 9 if num ==1 or num == 4: # 若生成的数字为1,4

python random 模块及验证码功能

random模块 import random random.random() random.randint(1,3) # 1-3的整数包括3 import random print(random.random()) print(random.randint(1,20)) print(random.randrange(1,3)) # 顾头不顾尾,不包含3 print(random.choice('12345')) # 可迭代对象中随机取一个 print(random.sample('12345',

利用Pillow,几行代码实现的最简单的Django页面验证码功能

验证码本质上就是生成带有文字的图片,用来区分人与机器的行为.如果考虑到防止破解自然会涉及到许多复杂的算法,用以防止从图片中容易地识别出文字,但作为一个简单的例子,我们就使用最简单的方法来达成一个验证码的功能.以下就是利用Python的第三方图形处理模块Pillow来实现的一个简单的验证码功能: 首先,在accounts.views中定义一个生成验证码的函数: from PIL import Image, ImageDraw, ImageFont from django.http.response

java web中图片验证码功能实现

用户在注册网站信息的时候基本上都要数据验证码验证.那么图片验证码功能该如何实现呢? 大概步骤是: 1.在内存中创建缓存图片 2.设置背景色 3.画边框 4.写字母 5.绘制干扰信息 6.图片输出 废话不多说,直接上代码 package com.lsgjzhuwei.servlet.response; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.Buffer

使用thinkphp3.2中的验证码功能

为了网站的安全性,使用验证码技术是比较常见的,今天按照thinkphp3.2完全开发手册的例子试了一下(地址http://document.thinkphp.cn/manual_3_2.html#verify),总是报错,没法显示验证码,原因原来是在PHP.INI文件中没有打开GD库. 只要将配置文件PHP.INI中的extension=php_gd2.dll注释去掉就可以了(php_gd2.dll   GD 库图像函数库 GD2). 生成验证码 public function code() {

python实现软件的注册功能(机器码+注册码机制)

http://www.cnblogs.com/cquptzzq/p/5940583.html 一.前言: 目的:完成已有python图像处理工具的注册功能 功能:用户运行程序后,通过文件自动检测认证状态,如果未经认证,就需要注册.注册过程是用户将程序运行后显示的机器码(C盘的卷序号)发回给管理员,管理员对机器码加密后生成加密文件或字符串返回给用户.每次启动程序,在有注册文件的情况下,程序就会通过DES和base64解码,并与此刻获取到的C盘卷序列号比对,如果一致则运行主程序.如果注册文件解码后与

简单 验证码 功能

在贴代码之前首先简述一下验证验证码原理:随机获取验证码的值,把这个值存到session中,其作用可想而知就是要拿来跟前台数据作比较,通过Graphics将值进行模糊处理之后传到前台页面展示. 1 package com.skss.util; 2 3 4 import java.awt.Color; 5 import java.awt.Font; 6 import java.awt.Graphics; 7 import java.awt.image.BufferedImage; 8 import

验证码功能

验证码功能 ① 在Public控制器中定义verify方法 ② 设置验证码相关参数 codeSet:显示的字符串 useZh:是否使用中文验证码 zhSet:显示的中文字符串 useImgBg:是否使用图片背景 fontSize:字体大小 useCurve:是否使用混淆线 useNoise:是否使用杂点 length:验证码采用多少个字符 fontttf:使用的字体样式 ③ 中文验证码 运行结果: 为什么会出现以上问题? 答:因为还没有提供任何中文字体,必须到系统字体目录中复制黑体常规到Thin

python实现ssh及sftp功能

1.在Linux上我们通过scp命令实现主机间的文件传送,通过ssh实现远程登录 ,比如 我们经常使用的xshell远程登录工具,就是基础ssh协议实现window主机远程登录Linux主机 下面简单的在python实现这几个功能   下面使用到paramiko模块,这个不是python的内置模块,我直接通过pycharm下载这个模块, 第一步实现一个简单的ssh登录命令 代码如下: import paramiko # 创建SSH对象 ssh = paramiko.SSHClient() # 允