python登录验证码实现
时间: 2024-10-23 15:06:44 浏览: 13
在Python中实现登录验证码通常涉及到图像生成、随机数生成以及用户输入验证等步骤。这里提供一个简单的例子,假设我们使用Python的PIL库来生成静态验证码图片,并接收用户的输入进行比较:
```python
from PIL import Image, ImageDraw, ImageFont
import random
import string
# 定义函数生成验证码图片
def generate_captcha(length=4):
img_width, img_height = 100, 50
font_size = 30
captcha_text = ''.join(random.choices(string.ascii_uppercase + string.digits, k=length))
# 创建画布和字体
img = Image.new('RGB', (img_width, img_height), color='white')
draw = ImageDraw.Draw(img)
font = ImageFont.truetype("arial.ttf", font_size) # 更改此处路径为你的字体文件
# 在图片上绘制验证码
for i in range(length):
x = random.randint(10, img_width - font_size - 10)
y = random.randint(10, img_height - font_size - 10)
draw.text((x, y), captcha_text[i], fill=(0, 0, 0), font=font)
return captcha_text, img
# 生成验证码并显示给用户
captcha_text, captcha_img = generate_captcha()
captcha_img.save("captcha.png") # 保存验证码图片
print(f"请输入图片中的验证码:{captcha_text}")
# 接收用户输入
user_input = input("请输入验证码:")
# 验证码对比
if user_input == captcha_text:
print("验证通过!")
else:
print("验证码错误,请重试。")
```
阅读全文