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 相关文章推荐
Windows PHP5和Apache的安装与配置
Jun 08 PHP
PHP 数组遍历顺序理解
Sep 09 PHP
php 将字符串按大写字母分隔成字符串数组
Apr 30 PHP
joomla内置的表单验证功能使用方法
Jun 11 PHP
使用PHP备份MySQL和网站发送到邮箱实例代码
Nov 28 PHP
php准确计算复活节日期的方法
Apr 18 PHP
详解php的socket通信
Aug 11 PHP
微信利用PHP创建自定义菜单的方法
Aug 01 PHP
php版微信返回用户text输入的方法
Nov 14 PHP
详解Yii2 定制表单输入字段的标签和样式
Jan 04 PHP
laravel多条件查询方法(and,or嵌套查询)
Oct 09 PHP
PHP实现两种排课方式
Jun 26 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应用程序实现摘要式身份验证的方法详解
2013/06/08 PHP
PHP简单实现“相关文章推荐”功能的方法
2014/07/19 PHP
PHP+iFrame实现页面无需刷新的异步文件上传
2014/09/16 PHP
PHP简单检测网址是否能够正常打开的方法
2016/09/04 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
yii框架redis结合php实现秒杀效果(实例代码)
2017/10/26 PHP
CI框架附属类用法分析
2018/12/26 PHP
23个Javascript弹出窗口特效整理
2011/02/25 Javascript
JS+CSS模拟可以无刷新显示内容的留言板实例
2015/03/03 Javascript
在 Express 中使用模板引擎
2015/12/10 Javascript
Javascript表单特效之十大常用原理性样例代码大总结
2016/07/12 Javascript
JS动态给对象添加属性和值的实现方法
2016/10/21 Javascript
浅谈 Vue v-model指令的实现原理
2017/06/08 Javascript
JSON在Javascript中的使用(eval和JSON.parse的区别)详细解析
2017/09/05 Javascript
微信小程序实现手势图案锁屏功能
2018/01/30 Javascript
解决Layui选择全部,换页checkbox复选框重新勾选的问题方法
2018/08/14 Javascript
jQuery--遍历操作实例小结【后代、同胞及过滤】
2020/05/22 jQuery
vue同个按钮控制展开和折叠同个事件操作
2020/07/29 Javascript
在vue中使用回调函数,this调用无效的解决
2020/08/11 Javascript
Openlayers实现距离面积测量
2020/09/28 Javascript
vue组件添加事件@click.native操作
2020/10/30 Javascript
微信小程序实现分页加载效果
2020/11/19 Javascript
python微信跳一跳系列之自动计算跳一跳距离
2018/02/26 Python
让Django支持Sql Server作后端数据库的方法
2018/05/29 Python
python 3.6.7实现端口扫描器
2019/09/04 Python
Python OrderedDict的使用案例解析
2019/10/25 Python
PyCharm License Activation激活码失效问题的解决方法(图文详解)
2020/03/12 Python
HTML5实现锚点时请使用id取代name
2013/09/06 HTML / CSS
AVON雅芳官网:世界上最大的美容化妆品公司之一
2016/11/02 全球购物
美国婚礼装饰和活动用品批发供应商:Event Decor Direct
2018/10/12 全球购物
学生干部的自我评价分享
2014/01/18 职场文书
小学生获奖感言范文
2014/02/02 职场文书
自主招生自荐信指南
2014/02/04 职场文书
pytorch交叉熵损失函数的weight参数的使用
2021/05/24 Python
CSS实现章节添加自增序号的方法
2021/06/23 HTML / CSS
Python之Matplotlib绘制热力图和面积图
2022/04/13 Python