香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > python >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

Python生成验证码实例


时间:2021-04-29 10:48 作者:admin610456


本文实例展示了python/' target='_blank'>python生成验证码的方法,具有很好的实用价值。分享给大家供大家参考。具体实现方法如下:

前台页面代码如下:

<div> <img id="authcode_img" alt="验证码" src="/registration/makeimage/{{time}}"/>   <!-- time 任意随机数(时间戳),防止页面缓存 导致验证码不能更新--> <a href="javascript:refreshCode();" rel="external nofollow" style="color:blue;">看不清换一张</a></div><script> function refreshCode() {   $('authcode_img').src = "/registration/makeimage/" + Math.random(); }</script>

后台程序如下:

import StringIOimport Image, ImageDraw, ImageFont, random  #相应的模块需要安装from xxx.settings import authcode_font #请确保改字体存在def make_image(request):  mp = hashlib.md5()  mp.update(str(datetime.datetime.now())+str(random.random()))    mp_src = mp.hexdigest()  rand_str = mp_src[0:6]  font = ImageFont.truetype(authcode_font, 25)  width = 75  height = 30  im = Image.new('RGB',(width,height),'#%s'%mp_src[-7:-1])  draw = ImageDraw.Draw(im)  draw.line((random.randint(0,width),random.randint(0,height),random.randint(0,width),random.randint(0,height)))  draw.line((random.randint(0,width),random.randint(0,height),random.randint(0,width),random.randint(0,height)))  draw.line((random.randint(0,width),random.randint(0,height),random.randint(0,width),random.randint(0,height)))  draw.line((random.randint(0,width),random.randint(0,height),random.randint(0,width),random.randint(0,height)))  draw.line((random.randint(0,width),random.randint(0,height),random.randint(0,width),random.randint(0,height)))  draw.text((5,2), rand_str, font=font)    del draw    buffer = StringIO.StringIO()  im.save(buffer,'jpeg')  httpResponse = HttpResponse(content=buffer.getvalue(),mimetype="image/jpeg")  request.session['auth_code'] = rand_str  return httpResponse

程序效果如下:

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)