美文网首页
2019-02-05 验证码生成(1)

2019-02-05 验证码生成(1)

作者: 翻斗乐园胡图图 | 来源:发表于2019-02-05 23:27 被阅读0次

最近在学习Python,原来用的是新浪博客写的。。新浪博客不太合适。。不能用Markdown语法(可能是我没找到),再说我以前的博客写的太烂了,账号密码也不记得了囧,所以决定换个地方好好写写,主要是记录下自己学习的过程。

在美团这1年多也确实水了,几乎毫无成长,以前的东西也忘了,决定好好提升自己。
这是我自学python的第一篇文章,对python感兴趣的话可以自己去看一些有趣的教程,我只是把自己学习中遇到问题都记录下来而已。

需要导入pillow模块。。
简单生成一张含4个随机字母的验证码图片


这里贴下代码

from PIL import Image, ImageDraw, ImageFont, ImageFilter

import random

# 随机字母:
def rndChar():
    return chr(random.randint(65, 90))

# 随机颜色1:
def rndColor():
    return (random.randint(64, 255), random.randint(64, 255), random.randint(64, 255))

# 随机颜色2:
def rndColor2():
    return (random.randint(32, 127), random.randint(32, 127), random.randint(32, 127))

# 240 x 60:
width = 60 * 4
height = 60
image = Image.new('RGB', (width, height), (255, 255, 255))
# 创建Font对象:
font = ImageFont.truetype('arial.ttf', 36)
#font = ImageFont.truetype('Arial.ttf', 36)
#教程里的字体WINDOWS系统可能没有,会报no resource错,我这里换了一个
# 创建Draw对象:
draw = ImageDraw.Draw(image)
# 填充每个像素:
for x in range(width):
    for y in range(height):
        draw.point((x, y), fill=rndColor())
# 输出文字:

s = []
for t in range(4):
    s.append(rndChar())

for t in range(4):
    draw.text((60 * t + 10, 10), s[t], font=font, fill=rndColor2())

# 模糊:
image = image.filter(ImageFilter.BLUR)
# 保存
image.save('code.jpg', 'jpeg')
#打开
image.show('code.jpg')

后续的思路是把验证码存到redis里,用脚本批量生成与更换,增强安全性。

相关文章

  • 2019-02-05 验证码生成(1)

    最近在学习Python,原来用的是新浪博客写的。。新浪博客不太合适。。不能用Markdown语法(可能是我没找到)...

  • Django ORM性能优化 和 图片验证码

    一,ORM性能相关 二, 图片验证码 1, 随机生成五位数的验证码 2, 随机生成位数的图片验证码

  • 一个验证码生成类

    1.定义验证码字符数,生成验证码图片的宽高 2.生成验证码字符 3.创建画布,写入验证码 4.画一些干扰线条 5....

  • Java生成图片验证码

    Java生成图片验证码 手动实现图片验证码生成 调用演示

  • 验证码校验功能实现----Session

    要实现页面验证码的校验,首先我们要先生成验证码我们需要先准备一些东西1)验证码生成的java类文件以及字段.txt...

  • 数学图形验证码

    1、生成图形验证码 public BufferedImage createVerifyCode(MiaoshaUs...

  • python 生成 验证码 图片

    # 生成随机验证码 def identificode(request): aaa = ['0','1','2'...

  • 验证码实现

    一、springboot实现,用于测试工具类是否可用 1、先写一个生成验证码的工具类,用来生成验证码 2、然后写一...

  • 验证码的生成和验证

    1:定义生成验证码的函数2:配置url路径3:调用4:看不清换一张的实现5:验证输入是否正确 1:定义生成验证码的...

  • linux部署JAVA应用验证码生成失败

    linux部署JAVA应用验证码生成失败 记部署服务时遇到的问题 linux部署JAVA应用验证码生成失败验证码采...

网友评论

      本文标题:2019-02-05 验证码生成(1)

      本文链接:https://www.haomeiwen.com/subject/cihbsqtx.html