Python图片验证码
时间: 2024-03-17 21:38:29 浏览: 95
图片验证码
Python图片验证码是一种用于验证用户身份的技术,通常用于网站注册、登录等场景。它通过生成一张包含随机字符的图片,并要求用户输入正确的字符来验证身份。
在Python中,可以使用第三方库如Pillow或Captcha来生成图片验证码。以下是一个简单的示例代码:
```python
from PIL import Image, ImageDraw, ImageFont
import random
# 生成随机字符
def generate_code(length):
code = ''
for _ in range(length):
code += random.choice('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789')
return code
# 生成验证码图片
def generate_captcha(code, width, height):
image = Image.new('RGB', (width, height), (255, 255, 255))
draw = ImageDraw.Draw(image)
font = ImageFont.truetype('arial.ttf', 40) # 使用字体文件arial.ttf,字体大小为40
# 绘制字符
draw.text((10, 10), code, font=font, fill=(0, 0, 0))
# 添加干扰线
for _ in range(5):
x1 = random.randint(0, width)
y1 = random.randint(0, height)
x2 = random.randint(0, width)
y2 = random.randint(0, height)
draw.line((x1, y1, x2, y2), fill=(0, 0, 0))
# 添加噪点
for _ in range(50):
x = random.randint(0, width)
y = random.randint(0, height)
draw.point((x, y), fill=(0, 0, 0))
# 保存图片
image.save('captcha.png')
# 示例用法
code = generate_code(4) # 生成4位随机字符
generate_captcha(code, 200, 100) # 生成200x100大小的验证码图片
```
以上代码使用Pillow库生成了一个200x100大小的验证码图片,其中包含了4位随机字符、干扰线和噪点。你可以根据需要调整图片大小、字符数量和样式等参数。
阅读全文