php 中生成随机字符串的方法

在一些特殊应用中,需要生成随机字符串,比如生成系统随机密码或者是登陆验证码等,本文介绍的函数能够返回指定长度的随机字符串,默认包含大小写字母和数字,你可以很容易的修改以便符合自己的需要。

自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,之前的版本可以在 mt_rand 之前先运行mt_srand((double)microtime()*1000000) 。

<?php
// 说明:php 中生成随机字符串的方法
// 整理:http://www.CodeBit.cn

function genRandomString($len)
{
	$chars = array(
		"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k",
		"l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",
		"w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G",
		"H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",
		"S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2",
		"3", "4", "5", "6", "7", "8", "9"
	);
	$charsLen = count($chars) - 1;

	shuffle($chars);	// 将数组打乱

	$output = "";
	for ($i=0; $i<$len; $i++)
	{
		$output .= $chars[mt_rand(0, $charsLen)];
	}

	return $output;

}

$str = genRandomString(25);
$str .= "<br />";
$str .= genRandomString(25);
$str .= "<br />";
$str .= genRandomString(25);

echo $str;

?>

注:传入的参数是你想要生成的随机字符串的长度。

关于 Artlover

有多年 web 开发经验,擅长领域 PHP / MySQL / CSS / Javascript / Zend Framework ,期望:在分享中共同成长。
此条目发表在 PHP 分类目录,贴了 , , , , 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*


*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>