PHP生成随机用户名和密码的实现代码


Posted in PHP onFebruary 27, 2013

有时候我们需要在应用程序中使用随机生成用户名和密码,这样可以大大提高应用程序的安全,在PHP中生成随机用户名和密码可以使用 mt_rand 函数或者是 rand 函数, rand 函数在验证码中的应用多一些,而生成长字符的随机码一般都需要 mt_rand 函数。

    使用PHP生成随机数可以应用在许多地方,比如可以设计程序的随机密码、模拟掷骰子游戏的应用程序、石头剪子布游戏应用程序等等。

    下面是PHP生成随机数的两个函数方法:

//自动为用户随机生成用户名(长度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);
PHP 相关文章推荐
用PHP实现小型站点广告管理(修正版)
Oct 09 PHP
PHP 面向对象实现代码
Nov 11 PHP
PHP取整数函数常用的四种方法小结
Jul 05 PHP
ThinkPHP Mobile使用方法简明教程
Jun 18 PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
Jun 26 PHP
php实现ip白名单黑名单功能
Mar 12 PHP
PHP设置头信息及取得返回头信息的方法
Jan 25 PHP
PHP微信开发之文本自动回复
Jun 23 PHP
分享一个漂亮的php验证码类
Sep 29 PHP
PHP获取用户客户端真实IP的解决方案
Oct 10 PHP
php实现的SSO单点登录系统接入功能示例分析
Oct 12 PHP
php遍历、读取文件夹中图片并分页显示图片的方法
Nov 15 PHP
PHP人民币金额数字转中文大写的函数代码
Feb 27 #PHP
PHP和.net中des加解密的实现方法
Feb 27 #PHP
php和js如何通过json互相传递数据相关问题探讨
Feb 26 #PHP
php数组的概述及分类与声明代码演示
Feb 26 #PHP
浅谈apache和nginx的rewrite的区别
Feb 22 #PHP
php并发对MYSQL造成压力的解决方法
Feb 21 #PHP
php连接mssql数据库的几种方法
Feb 21 #PHP
You might like
PHP安全配置详细说明
2011/09/26 PHP
探讨如何把session存入数据库
2013/06/07 PHP
AJAX的跨域访问-两种有效的解决方法介绍
2013/06/22 PHP
PHP仿博客园 个人博客(1) 数据库与界面设计
2013/07/05 PHP
destoon会员注册提示“数据校验失败(2)”解决方法
2014/06/21 PHP
Nigma vs Liquid BO3 第二场2.14
2021/03/10 DOTA
javascript静态的url如何传递
2007/05/03 Javascript
javascript 星级评分效果(手写)
2012/12/24 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
2013/08/12 Javascript
Javascript基础教程之数据类型 (字符串 String)
2015/01/18 Javascript
JS+CSS实现大气清新的滑动菜单效果代码
2015/10/22 Javascript
JS+CSS实现DIV层的展开、收缩效果
2016/01/28 Javascript
javascript实现列表切换效果
2016/05/02 Javascript
angular2+nodejs实现图片上传功能
2017/03/27 NodeJs
JavaScript运动框架 解决速度正负取整问题(一)
2017/05/17 Javascript
深入理解Vue生命周期、手动挂载及挂载子组件
2017/09/27 Javascript
vue 实现左右拖拽元素并且不超过他的父元素的宽度
2018/11/30 Javascript
vue中解决拖拽改变存在iframe的div大小时卡顿问题
2020/07/22 Javascript
vue使用Sass时报错问题的解决方法
2020/10/14 Javascript
[46:00]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第一局
2016/03/03 DOTA
Python是编译运行的验证方法
2015/01/30 Python
仅用500行Python代码实现一个英文解析器的教程
2015/04/02 Python
python实现应用程序在右键菜单中添加打开方式功能
2017/01/09 Python
python3实现全角和半角字符转换的方法示例
2017/09/21 Python
python实现点对点聊天程序
2018/07/28 Python
Python二叉树的镜像转换实现方法示例
2019/03/06 Python
python上selenium的弹框操作实现
2020/07/13 Python
CSS3+DIV实现漂亮的动画彩色标签
2016/06/16 HTML / CSS
Backcountry旗下的户外商品闪购网站:steep&cheap
2016/09/22 全球购物
澳大利亚百货公司:David Jones
2018/02/08 全球购物
EM Cosmetics官网:由彩妆大神Michelle Phan创办的独立品牌
2020/04/27 全球购物
幼儿园消防演练方案
2014/02/13 职场文书
犯错检讨书
2014/02/21 职场文书
法院信息化建设方案
2014/05/21 职场文书
2014年社区重阳节活动策划方案
2014/09/16 职场文书
postgresql如何找到表中重复数据的行并删除
2023/05/08 MySQL