生成简单验证码文字

生成简单验证码文字

​ 验证码是打印有随机字符串的图像,随机字符串一般由数字及字母组成,长度一般为4-6。简单实例如下:

<?php 
header("content-type:text/html;charset=utf8");

$code = "";
for ($i=0; $i < 6 ; $i++) { 
  //mt_rand生成0-15的随机数
  //dechex将生成的十进制随机数转为十六进制
    $code .=  dechex(mt_rand(0,15));
}

echo "验证码文字为:".$code;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 Python 的 Pillow 库来随机生成验证码图片。以下是一个简单的示例代码: ```python from PIL import Image, ImageDraw, ImageFont import random # 生成随机验证码 def generate_verification_code(length=4): code = '' for i in range(length): code += str(random.randint(0, 9)) return code # 生成验证码图片 def generate_verification_image(code): # 设置图片大小和背景色 width, height = 120, 50 bg_color = (255, 255, 255) # white # 创建图片对象和画笔对象 im = Image.new('RGB', (width, height), bg_color) draw = ImageDraw.Draw(im) # 生成随机颜色 def random_color(): return (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)) # 添加噪点 def draw_noise(): for x in range(width): for y in range(height): if random.random() > 0.8: draw.point((x, y), fill=random_color()) # 添加干扰线 def draw_lines(): line_num = random.randint(2, 4) for i in range(line_num): start_x = random.randint(0, width // 2) start_y = random.randint(0, height) end_x = random.randint(width // 2, width) end_y = random.randint(0, height) draw.line((start_x, start_y, end_x, end_y), fill=random_color(), width=3) # 添加验证码文字 font = ImageFont.truetype('arial.ttf', 36) for i, c in enumerate(code): x = (width // len(code)) * i + 10 y = random.randint(0, height // 2) draw.text((x, y), c, font=font, fill=random_color()) # 添加噪点和干扰线 draw_noise() draw_lines() # 返回图片对象 return im # 测试代码 if __name__ == '__main__': code = generate_verification_code() print(code) im = generate_verification_image(code) im.show() ``` 运行上述代码,将会生成一个随机验证码图片。你可以根据需要调整图片的大小、背景色、干扰线数量等参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值