承接国内外服务器租用托管、定制开发、网站代运营、网站seo优化托管接单、网站代更新,新老站点皆可!!咨询QQ:3787320601
当前位置:首页  >  软件开发  >  python 画验证码

python 画验证码

管理员 2023-06-27 08:39:11 软件开发 8 ℃ 0 评论 1944字 收藏

python 画验证码

验证码是一个经常使用于避免机器歹意刷单、刷票等行动的安全技术。Python是一种很方便画验证码的语言,在这篇文章中我们将介绍怎样使用Python绘制验证码。

import random
from PIL import Image, ImageDraw, ImageFont
# 生成随机字符串
def get_random_str(length=4):
str_list = [chr(random.randint(65, 90)) for i in range(length)]
return ''.join(str_list)
# 随机字体色彩
def random_color():
return (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
# 随机背景色彩
def random_bg_color():
return (random.randint(200, 255), random.randint(200, 255), random.randint(200, 255))
# 生成验证码图片
def generate_captcha(length=4, size=(120, 30)):
rand_str = get_random_str(length)
img = Image.new('RGB', size, random_bg_color())
draw = ImageDraw.Draw(img)
font = ImageFont.truetype('arial.ttf', size[1])
font_width, font_height = font.getsize(rand_str)
draw.text(((size[0]-font_width)/2, (size[1]-font_height)/2), rand_str, font=font, fill=random_color())
return img, rand_str
# 测试代码
if __name__ == '__main__':
img, rand_str = generate_captcha()
img.show()
print(rand_str)

上面的代码中,我们使用了Python自带的随机数模块和Pillow库来生成随机字符串和画图。其中关键的函数是generate_captcha()函数,它接收两个参数:验证码长度和图片大小。我们首先生成一个随机的字符串,再创建一个RGB模式的图片,并随机生成背景色彩。然后,使用随机的字体色彩将字符串画到图片中心处,并将该图片和随机字符串一起返回。最后,我们写了一段测试代码来显示生成的验证码图片和输出对应的随机字符串。

通过这样的代码,我们可以轻松生成定制化的验证码图片,并且根据需要对相关的参数进行调剂,为网站的安全提供一定的保障。

文章来源:丸子建站

文章标题:python 画验证码

https://www.wanzijz.com/view/59810.html

相关文章

Related articles

X

截屏,微信识别二维码

微信号:weimawl

(点击微信号复制,添加好友)

打开微信