php实现随机生成易于记忆的密码


Posted in PHP onJune 19, 2015

本文实例讲述了php实现随机生成易于记忆的密码。分享给大家供大家参考。具体实现方法如下:

这里通过预定义一些单词,让php随机从这些单词中选择进行组合生成密码

function random_readable_pwd($length=10){
  // the wordlist from which the password gets generated 
  // (change them as you like)
  $words = 'dog,cat,sheep,sun,sky,red,ball,happy,ice,';
  $words .= 'green,blue,music,movies,radio,green,turbo,';
  $words .= 'mouse,computer,paper,water,fire,storm,chicken,';
  $words .= 'boot,freedom,white,nice,player,small,eyes,';
  $words .= 'path,kid,box,black,flower,ping,pong,smile,';
  $words .= 'coffee,colors,rainbow,plus,king,tv,ring';
  // Split by ",":
  $words = explode(',', $words);
  if (count($words) == 0){ die('Wordlist is empty!'); }
  // Add words while password is smaller than the given length
  $pwd = '';
  while (strlen($pwd) < $length){
    $r = mt_rand(0, count($words)-1);
    $pwd .= $words[$r];
  }
  // append a number at the end if length > 2 and
  // reduce the password size to $length
  $num = mt_rand(1, 99);
  if ($length > 2){
    $pwd = substr($pwd,0,$length-strlen($num)).$num;
  } else { 
    $pwd = substr($pwd, 0, $length);
  }
  return $pwd;
}
//使用范例:
random_readable_pwd(10) => returns something like: pingwater6, radiohap28, sunwhite84, happykid44, etc...

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
利用PHP动态生成VRML网页
Oct 09 PHP
php创建多级目录代码
Jun 05 PHP
php自动适应范围的分页代码
Aug 05 PHP
php trim 去除空字符的定义与语法介绍
May 31 PHP
php获取远程图片的两种 CURL方式和sockets方式获取远程图片
Nov 07 PHP
推荐一款MAC OS X 下php集成开发环境mamp
Nov 08 PHP
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
Nov 20 PHP
php简单操作mysql数据库的类
Apr 16 PHP
PHP实现导出excel数据的类库用法示例
Oct 15 PHP
Yii遍历行下每列数据的方法
Oct 17 PHP
php实现的二分查找算法示例
Jun 20 PHP
PHP机器学习库php-ml的简单测试和使用方法
Jul 14 PHP
php根据一个给定范围和步进生成数组的方法
Jun 19 #PHP
php分割合并两个字符串的函数实例
Jun 19 #PHP
php计算整个mysql数据库大小的方法
Jun 19 #PHP
php判断访问IP的方法
Jun 19 #PHP
PHP自动生成表单代码分享
Jun 19 #PHP
PHP实现中文圆形印章特效
Jun 19 #PHP
PHP 常用的header头部定义汇总
Jun 19 #PHP
You might like
PHP入门速成(2)
2006/10/09 PHP
php_xmlhttp 乱码问题解决方法
2009/08/07 PHP
Ajax实时验证用户名/邮箱等是否已经存在的代码打包
2011/12/01 PHP
php中inlcude()性能对比详解
2012/09/16 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
2014/09/02 PHP
php单态设计模式(单例模式)实例
2014/11/18 PHP
PHP编程实现脚本异步执行的方法
2017/08/09 PHP
javascript下过滤数组重复值的代码
2007/09/10 Javascript
js 静态动态成员 and 信息的封装和隐藏
2011/05/29 Javascript
jQuery多级手风琴菜单实例讲解
2015/10/22 Javascript
JS输出空格的简单实现方法
2016/09/08 Javascript
JavaScript微信定位功能实现方法
2016/11/29 Javascript
jQuery Easyui datagrid editor为combobox时指定数据源实例
2016/12/19 Javascript
js 颜色选择插件
2017/01/23 Javascript
js实现常见的工具条效果
2017/03/02 Javascript
Javascript中字符串相关常用的使用方法总结
2017/03/13 Javascript
node.js学习之事件模块Events的使用示例
2017/09/28 Javascript
JS实现获取汉字首字母拼音、全拼音及混拼音的方法
2017/11/14 Javascript
php结合js实现多条件组合查询
2019/05/28 Javascript
vue使用@scroll监听滚动事件时,@scroll无效问题的解决方法详解
2019/10/15 Javascript
[01:11:11]Alliance vs RNG 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
python基础教程之循环介绍
2014/08/29 Python
Python语言实现获取主机名根据端口杀死进程
2016/03/31 Python
Python爬虫包BeautifulSoup实例(三)
2018/06/17 Python
Django 开发环境配置过程详解
2019/07/18 Python
django-利用session机制实现唯一登录的例子
2020/03/16 Python
详解css3中的伪类before和after常见用法
2020/11/17 HTML / CSS
法国设计制造的扫帚和刷子:Andrée Jardin
2018/12/06 全球购物
几个Shell Script面试题
2012/08/31 面试题
工程师自我评价怎么写
2013/09/19 职场文书
酒店开业策划方案
2014/06/02 职场文书
毕业实习自我鉴定范文2014
2014/09/26 职场文书
党支部组织生活会整改方案
2014/09/30 职场文书
三年级学生评语大全
2014/12/26 职场文书
Html5获取用户当前位置的几种方式
2022/01/18 HTML / CSS
使用Redis实现分布式锁的方法
2022/06/16 Redis