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 相关文章推荐
Apache, PHP在Windows 9x/NT下的安装与配置 (一)
Oct 09 PHP
php初学者写及时补给skype用户充话费的小程序
Nov 02 PHP
PHP基础知识回顾
Aug 16 PHP
解决phpmyadmin中缺少mysqli扩展问题的方法
May 06 PHP
通过PHP current函数获取未知字符键名数组第一个元素的值
Jun 24 PHP
PHP实现的比较完善的购物车类
Dec 02 PHP
PHP 生成N个不重复的随机数
Jan 21 PHP
PHP中读取文件的几个方法总结(推荐)
Jun 03 PHP
PHP MySql增删改查的简单实例
Jun 21 PHP
PHP+JQuery+Ajax实现分页方法详解
Aug 06 PHP
Laravel框架实现redis集群的方法分析
Sep 14 PHP
Yii 框架入口脚本示例分析
May 19 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 正则表达式小结
2009/08/31 PHP
PHP截断标题且兼容utf8和gb2312编码
2013/09/22 PHP
实现PHP+Mysql无限分类的方法汇总
2015/03/02 PHP
PHP面试题之文件目录操作
2015/10/15 PHP
PHP中Http协议post请求参数
2015/11/02 PHP
Laravel5权限管理方法详解
2016/07/26 PHP
微信 开发生成带参数的二维码的实例
2016/11/23 PHP
PHP设计模式之策略模式原理与用法实例分析
2019/04/04 PHP
PHP切割汉字的常用方法实例总结
2019/04/27 PHP
PHP实现倒计时功能
2020/11/16 PHP
Javascript 继承机制的实现
2009/08/12 Javascript
jquery 读取页面load get post ajax 四种方式代码写法
2011/04/02 Javascript
js constructor的实际作用分析
2011/11/15 Javascript
json数据的列循环示例
2013/09/06 Javascript
jQuery的animate函数学习记录
2014/08/08 Javascript
简单方法判断JavaScript对象为null或者属性为空
2014/09/26 Javascript
使用javascript实现Iframe自适应高度
2014/12/24 Javascript
js实现仿QQ秀换装效果的方法
2015/03/04 Javascript
JS获取字符串实际长度(包含汉字)的简单方法
2016/08/11 Javascript
js 数据存储和DOM编程
2017/02/09 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
JS实现两周内自动登录功能
2017/03/23 Javascript
angularjs2中父子组件的数据传递的实例代码
2017/07/05 Javascript
VUE axios发送跨域请求需要注意的问题
2017/07/06 Javascript
js时间转换毫秒的实例代码
2019/08/21 Javascript
微信小程序如何加载数据库真实数据的实现
2020/03/04 Javascript
vue商城中商品“筛选器”功能的实现代码
2020/07/01 Javascript
[00:17]天涯墨客一技能展示
2018/08/25 DOTA
Python中文件操作简明介绍
2015/04/13 Python
python3 自动打印出最新版本执行的mysql2redis实例
2020/04/09 Python
微软澳洲官方网站:Microsoft Australia
2017/01/10 全球购物
毕业生护理专业个人求职信范文
2014/01/04 职场文书
大学生两会精神学习心得体会
2014/03/10 职场文书
实习介绍信模板
2015/01/30 职场文书
2015年质量月活动总结报告
2015/03/27 职场文书
导游词之平津战役纪念馆
2019/11/04 职场文书