PHP密码生成管理源码,php随机密码生成的自定义函数

如果要做到安全密码与用户名都随机我有一个朋友做服务器的登录密码与用户名就是使用了phpmyadmin随机生成密码功能来做的,与其用phpmyadmin不如自己做了,下文整理了一些关于php随机密码生成的自定义函数供大家参考。

可以指定生成的字符串长度

function rand_str($length, $max=FALSE)

{

if (is_int($max) && $max > $length)

{

$length = mt_rand($length, $max);

}

$output = '';

for ($i=0; $i

{

$which = mt_rand(0,2);

if ($which === 0)

{

$output .= mt_rand(0,9);

}

elseif ($which === 1)

{

$output .= chr(mt_rand(65,90));

}

else

{

$output .= chr(mt_rand(97,122));

}

}

return $output;

}

调用实例:

$randstr = rand_str(16);

生成随机字符串的函数

创建字符池。

function randomkeys($length)

{

$pattern = '1234567890abcdefghijklmnopqrstuvwxyz

ABCDEFGHIJKLOMNOPQRSTUVWXYZ,./&l

t;>?;#:@~[]{}-_=+)(*&^%$?!'; //字符池

for($i=0; $i

{

$key .= $pattern{mt_rand(0,35)}; //生成php随机数

}

return $key;

}

echo randomkeys(8);

无需创建字符池

function randomkeys($length)

{

$output='';

for ($a = 0; $a < $length; $a++) {

$output .= chr(mt_rand(35, 126)); //生成php随机数

}

return $output;

}

echo randomkeys(8);

随机用户名和随机密码例子

//随机生成用户名(长度6-13)

function create_password($pw_length = 4){

$randpwd = '';

for ($i = 0; $i < $pw_length; $i++){

$randpwd .= chr(mt_rand(33, 126));

}

return $randpwd;

}

function generate_username( $length = 6 ) {

// 密码字符集,可任意添加你需要的字符

$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|';

$password = '';

for ( $i = 0; $i < $length; $i++ )

{

// 这里提供两种字符获取方式

// 第一种是使用substr 截取$chars中的任意一位字符;

// 第二种是取字符数组$chars 的任意元素

// $password .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);

$password .= $chars[ mt_rand(0, strlen($chars) - 1) ];

}

return $password;

}

//调用

$userId = 'user'.generate_username(6);

$pwd = create_password(9);

mt_srand生成随机种子,密码的长度可以随意定义,最长32位。

php密码生成器

密码生成器

" . gen_random_password($_GET['password_length']) . "

n");

} else {

print("密码长度不正确!

n");

}

}

print <<< end

请为密码生成其指定生成密码的长度:

end;

?>

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值