验证码的代码实现方式有很多种,这里提供一个简单的基于Python和PIL库的验证码生成示例代码(英文)。
from PIL import Image, ImageDraw, ImageFont
import random
import string
生成随机字符串验证码
def generate_code(code_length=4):
all_chars = string.ascii_letters + string.digits # 包含大小写字母和数字的字符集
code = ’’.join(random.choice(all_chars) for i in range(code_length)) # 随机生成指定长度的字符串验证码
return code
生成带有验证码的图片
def generate_captcha(text):
width, height = 200, 80 # 图片大小
font_size = 36 # 字体大小
font = ImageFont.truetype(’arial.ttf’, font_size) # 使用arial字体,需要安装该字体库
image = Image.new(’RGB’, (width, height), color=(255, 255, 255)) # 创建空白图片
draw = ImageDraw.Draw(image) # 创建绘图对象
code_position = ((width - font_size * len(text)) // 2, height // 3) # 计算验证码在图片中的位置
draw.text(code_position, text, font=font, fill=(0, 0, 0)) # 在图片上绘制验证码文字
for i in range(random.randint(10, 30)): # 随机添加干扰线条和噪点
draw.line([(random.randint(0, width), random.randint(0, height)), (random.randint(0, width), random.randint(0, height))], fill=(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)), width=random.randint(1, 3)) # 添加干扰线条
draw.point((random.randint(0, width), random.randint(0, height)), fill=(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))) # 添加噪点
image.save(’captcha_’ + text + ’.png’) # 保存图片文件,文件名包含验证码内容,方便验证结果是否正确
return image # 返回图片对象,可用于展示图片等后续操作
生成并展示验证码图片和验证码内容
code = generate_code() # 生成随机验证码字符串
image = generate_captcha(code) # 生成带有验证码的图片对象,并保存为文件
image.show() # 显示图片,需要在支持图形界面的环境下运行代码才能看到效果,如PyCharm等IDE或命令行终端等环境无法看到效果,可以使用其他工具查看生成的图片文件。




