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_MySQL教程-第一天
Mar 18 PHP
MySQL数据库转移,access,sql server 转 MySQL 的图文教程
Sep 02 PHP
生成卡号php代码
Apr 09 PHP
snoopy PHP版的网络客户端提供本地下载
Apr 15 PHP
php+AJAX传送中文会导致乱码的问题的解决方法
Sep 08 PHP
php操作路径的经典方法(必看篇)
Oct 04 PHP
基于php实现的php代码加密解密类完整实例
Oct 12 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
Aug 30 PHP
PHP下 Mongodb 连接远程数据库的实例代码
Aug 30 PHP
Laravel 中创建 Zip 压缩文件并提供下载的实现方法
Apr 02 PHP
php 使用 __call实现重载功能示例
Nov 18 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 !function_exists(&quot;T7FC56270E7A70FA81A5935B72EACBE29&quot;))代码解密
2011/01/07 PHP
基于curl数据采集之单页面并行采集函数get_htmls的使用
2013/04/28 PHP
Yii实现的多级联动下拉菜单
2016/07/13 PHP
HTML IMG标签 onload 内存溢出导致浏览器CPU占用过高
2021/03/09 Javascript
Gambit vs ForZe BO3 第三场 2.13
2021/03/10 DOTA
Extjs学习笔记之七 布局
2010/01/08 Javascript
JavaScript访问样式表代码
2010/10/15 Javascript
js实现的折叠导航示例
2013/11/29 Javascript
js判断60秒以及倒计时示例代码
2014/01/24 Javascript
详解JavaScript中数组的reduce方法
2016/12/02 Javascript
微信小程序 form组件详解及简单实例
2017/01/10 Javascript
jQuery+CSS3实现点赞功能
2017/03/13 Javascript
Bootstrap输入框组件使用详解
2017/06/09 Javascript
Angular 2父子组件数据传递之局部变量获取子组件其他成员
2017/07/04 Javascript
Angular4 中内置指令的基本用法
2017/07/31 Javascript
vue todo-list组件发布到npm上的方法
2018/04/04 Javascript
Node.Js生成比特币地址代码解析
2018/04/21 Javascript
详解vue-cli中使用rem,vue自适应
2019/05/06 Javascript
使用Vue 实现滑动验证码功能
2019/06/27 Javascript
jQuery子选择器与可见性选择器实例分析
2019/06/28 jQuery
解决webpack多页面内存溢出的方法示例
2019/10/08 Javascript
element 动态合并表格的步骤
2020/12/31 Javascript
[01:58]DOTA2上海特级锦标赛现场采访:RTZ这个ID到底好不好
2016/03/25 DOTA
python快速排序代码实例
2013/11/21 Python
利用Python如何生成便签图片详解
2018/07/09 Python
python求质数的3种方法
2018/09/28 Python
基于PyQt4和PySide实现输入对话框效果
2019/02/27 Python
Python Web框架之Django框架Form组件用法详解
2019/08/16 Python
Python叠加矩形框图层2种方法及效果
2020/06/18 Python
Python分析最近大火的网剧《隐秘的角落》
2020/07/02 Python
Window10上Tensorflow的安装(CPU和GPU版本)
2020/12/15 Python
豪华复古化妆:Besame Cosmetics
2019/09/06 全球购物
编程用JAVA解析XML的方式
2013/07/07 面试题
党员批评与自我批评发言材料
2014/10/14 职场文书
2016年三严三实党课学习心得体会
2016/01/06 职场文书
纯CSS打字动画的实现示例
2022/08/05 HTML / CSS