分享好友 资讯首页 资讯分类 切换频道

python写验证码

2025-06-15 13:3100

在Python中,我们可以使用第三方库如PIL(Python Imaging Library)来生成验证码图片。以下是一个简单的例子,生成一个包含随机字符的验证码图片。

python写验证码

确保你已经安装了PIL库,如果没有安装,可以使用pip进行安装:

pip install pillow

你可以使用以下代码来生成验证码图片:

from PIL import Image, ImageDraw, ImageFont
import random
import string
def generate_captcha(length=4):
    # 生成随机字符列表
    chars = string.ascii_letters + string.digits  # 包括大小写字母和数字
    captcha_str = ’’.join(random.choice(chars) for i in range(length))  # 生成随机字符串验证码
    return captcha_str
def generate_captcha_image(text, font_size=30):
    width, height = 200, 100  # 图片尺寸
    image = Image.new(’RGB’, (width, height), color=(255, 255, 255))  # 创建空白图片
    draw = ImageDraw.Draw(image)  # 创建画笔对象
    font = ImageFont.truetype(’arial’, font_size)  # 使用字体文件生成字体对象,这里使用的是系统字体arial字体文件路径根据实际情况填写,如果没有字体文件,可以省略这一行和下一行,默认使用PIL自带的字体,但请注意,这可能会在某些系统上导致乱码。
    draw.text((width // 2 - font_size // 2, height // 2 - font_size // 2), text, font=font, fill=(0, 0, 0))  # 在图片上绘制文本验证码字符,位置居中,颜色为黑色,可以根据需要调整颜色。
    return image
if __name__ == "__main__":
    captcha_str = generate_captcha()  # 生成验证码字符串
    image = generate_captcha_image(captcha_str)  # 生成验证码图片
    image.save(’captcha.png’)  # 保存图片到本地文件,文件名可以是任何你想要的名称和格式(例如jpg、png等)

注意:这个简单的例子没有添加任何干扰元素(如线条、噪点等),也没有进行任何形式的混淆处理(如扭曲字符),在实际应用中,你可能需要添加这些功能来提高验证码的安全性,这个例子使用了系统字体文件来生成文本字符的样式,如果你没有字体文件或者想使用不同的样式,你可能需要调整这部分的代码。

举报
收藏 0
打赏 0
评论 0
 
友情链接