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执行sql语句的写法
Mar 10 PHP
在PHP中实现Javascript的escape()函数代码
Aug 08 PHP
PHP中空字符串介绍0、null、empty和false之间的关系
Sep 25 PHP
基于php实现长连接的方法与注意事项的问题
May 10 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
Sep 22 PHP
PHP中JSON的应用技巧
Oct 10 PHP
PHP中文竖排转换实现方法
Oct 23 PHP
php自定义函数实现JS的escape的方法示例
Jul 07 PHP
php自定义扩展名获取函数示例
Dec 12 PHP
php事务回滚简单实现方法示例
Mar 28 PHP
yii框架数据库关联查询操作示例
Oct 14 PHP
thinkphp5实现微信扫码支付
Dec 23 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
模拟SQLSERVER的两个函数:dateadd(),datediff()
2006/10/09 PHP
PHP form 表单传参明细研究
2009/07/17 PHP
基于php-fpm的配置详解
2013/06/03 PHP
thinkphp循环结构用法实例
2014/11/24 PHP
Ecshop 后台添加新功能栏目及管理权限设置教程
2017/11/21 PHP
一款js和css代码压缩工具[附JAVA环境配置方法]
2010/04/16 Javascript
JavaScript弹出新窗口后向父窗口输出内容的方法
2015/04/06 Javascript
JS实现的不规则TAB选项卡效果代码
2015/09/18 Javascript
详解javascript的变量与标识符
2016/01/04 Javascript
浅析Javascript的自动分号插入(ASI)机制
2016/09/29 Javascript
JS常用算法实现代码
2016/11/14 Javascript
浅谈Node.js ORM框架Sequlize之表间关系
2017/07/24 Javascript
vue引用js文件的多种方式(推荐)
2018/05/17 Javascript
jenkins自动构建发布vue项目的方法步骤
2021/01/04 Vue.js
初学Python函数的笔记整理
2015/04/07 Python
Python自动发邮件脚本
2017/03/31 Python
centos6.4下python3.6.1安装教程
2017/07/21 Python
Python cookbook(数据结构与算法)将名称映射到序列元素中的方法
2018/03/22 Python
解决python中无法自动补全代码的问题
2018/12/04 Python
python多线程并发让两个LED同时亮的方法
2019/02/18 Python
在PyTorch中Tensor的查找和筛选例子
2019/08/18 Python
PyTorch中Tensor的维度变换实现
2019/08/18 Python
Python Django路径配置实现过程解析
2020/11/05 Python
python 读取yaml文件的两种方法(在unittest中使用)
2020/12/01 Python
亚历山大·王官网:Alexander Wang
2017/06/23 全球购物
年度献血先进个人事迹材料
2014/02/14 职场文书
大学班级计划书
2014/04/29 职场文书
司法建议书范文
2014/05/13 职场文书
小学生十佳少年事迹材料
2014/08/20 职场文书
股指期货心得体会
2014/09/10 职场文书
小区门卫的岗位职责
2014/09/26 职场文书
我的中国梦心得体会范文
2016/01/05 职场文书
劳务派遣管理制度(样本)
2019/08/23 职场文书
浅谈Python 中的复数问题
2021/05/19 Python
Python中OpenCV实现简单车牌字符切割
2021/06/11 Python
mysql sql常用语句大全
2022/06/21 MySQL