php做一个4位验证码,php随机生成4位数字验证码

这段PHP代码用于生成一个4位随机数字的验证码,并创建一个包含该验证码的PNG图像。它首先使用`srand`初始化随机数生成器,然后通过循环生成大于1000的四位随机整数。验证码存储在会话中,并用白色字体绘制到灰色背景的图像上,同时添加了干扰像素以增加验证码的辨识难度。最后,图像被输出为PNG格式并销毁内存中的图像资源。
摘要由CSDN通过智能技术生成

/**

* php 生成4位的随机数字验证码

* edit: www.jbxue.com

*/

session_start();

srand((double)microtime()*1000000);

while(($authnum=rand()%10000)<1000);//生成四位随机整数验证码

$_SESSION['auth']=$authnum;

//生成验证码图片

Header("Content-type: image/PNG");

$im = imagecreate(55,18);

$red = ImageColorAllocate($im, 255,0,0);

$white = ImageColorAllocate($im, 200,200,100);

$gray = ImageColorAllocate($im, 250,250,250);

$black = ImageColorAllocate($im, 120,120,50);

imagefill($im,60,20,$gray);

//将四位整数验证码绘入图片

//位置交错

for ($i = 0; $i < strlen($authnum); $i++)

{

$i%2 == 0?$top = -1:$top = 3;

imagestring($im, 6, 13*$i+4, 1, substr($authnum,$i,1), $white);

}

for($i=0;$i<100;$i++)   //加入干扰象素

{

imagesetpixel($im, rand()%70 , rand()%30 , $black);

}

ImagePNG($im);

ImageDestroy($im);

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值