php教程|PHP源码
nbsp,password,quot,length,lt
php教程-PHP源码
如果要做到安全密码与用户名都随机我有一个朋友做服务器的登录密码与用户名就是使用了phpmyadmin随机生成密码功能来做的,与其用phpmyadmin不如自己做了,下文整理了一些关于php随机密码生成的自定义函数供大家参考。
ec(2);可以指定生成的字符串长度
php 评论系统源码,ubuntu 跳过磁盘 检查,tomcat服务器响应超时,防止爬虫下载,php判断存在字符串,seo思维简介lzw
function rand_str($length, $max=FALSE)
{
if (is_int($max) && $max > $length)
{
$length = mt_rand($length, $max);
}
$output = ”;
服装展示网站源码,vscode程序时出现问题,ubuntu挖矿系统,tomcat本地运行缓慢,如何知道爬虫,php 内存溢出 监控,seo 1000个词多少钱lzw
for ($i=0; $i<$length; $i++)
{
$which = mt_rand(0,2);
袜子 源码,vscode怎么创建组件,刷 ubuntu系统,tomcat启动报错问题,爬虫exception,php获取前一个url,店铺SEO站外优化,企业网站源代码php下载,js简单动画效果模板下载lzw
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);
生成随机字符串的函数
<?php
/**
* 产生随机字符串
*
* 产生一个指定长度的随机字符串,并返回给用户
*
* @access public
* @param int $len 产生字符串的位数
* @return string
*/
function randStr($len=6) {
$chars=’ABDEFGHJKLMNPQRSTVWXYabdefghijkmnpqrstvwxy23456789#%*’; // characters to build the password from
mt_srand((double)microtime()*1000000*getmypid()); // seed the random number generater (must be done)
$password=”;
while(strlen($password)<$len)
$password.=substr($chars,(mt_rand()%strlen($chars)),1);
return $password;
}
?>
创建字符池。
function randomkeys($length)
{
$pattern = ‘1234567890abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLOMNOPQRSTUVWXYZ,./&l
t;>?;#:@~[]{}-_=+)(*&^%$?!’; //字符池
for($i=0; $i<$length; $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
mt_srand((double) microtime() * 1000000);
function gen_random_password($password_length = 32, $generated_password = “”){
$valid_characters = “abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789”;
$chars_length = strlen($valid_characters) – 1;
for($i = $password_length; $i–; ) {
//$generated_password .= $valid_characters[mt_rand(0, $chars_length)];
$generated_password .= substr($valid_characters, (mt_rand()%(strlen($valid_characters))), 1);
}
return $generated_password;
}
?>
font-family: Arial;
font-size: 10pt;
}
密码生成器
<?phpif (isset($_GET[password_length])){
if(preg_match(“/([0-9]{1,8})/”, $_GET[‘password_length’])){
print(“密码生成成功:
” . gen_random_password($_GET[‘password_length’]) . “
n”);
} else {
print(“密码长度不正确!
n”);
}
}
print <<< end
请为密码生成其指定生成密码的长度:
end;
?>