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 相关文章推荐
基于mysql的论坛(1)
Oct 09 PHP
php木马攻击防御之道
Mar 24 PHP
php 各种应用乱码问题的解决方法
May 09 PHP
PHP管理内存函数 memory_get_usage()使用介绍
Sep 23 PHP
php中file_get_content 和curl以及fopen 效率分析
Sep 19 PHP
php使用MySQL保存session会话的方法
Jun 18 PHP
详解js异步文件加载器
Jan 24 PHP
YII分模块加载路由的实现方法
Oct 01 PHP
关于PHP虚拟主机概念及如何选择稳定的PHP虚拟主机
Nov 20 PHP
PHP正则判断一个变量是否为正整数的方法
Feb 27 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
Oct 21 PHP
PHP生成随机密码4种方法及性能对比
Dec 11 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的字符串中单引号与双引号的区别
2016/05/07 PHP
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
2007/04/12 Javascript
javascript 文档的编码问题解决
2009/03/01 Javascript
JS中==与===操作符的比较
2009/03/21 Javascript
JavaScript中的apply()方法和call()方法使用介绍
2012/07/25 Javascript
js判断undefined类型,undefined,null, 的区别详细解析
2013/12/16 Javascript
JavaScript获取一个范围内日期的方法
2015/04/24 Javascript
举例讲解AngularJS中的模块
2015/06/17 Javascript
深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解
2016/04/03 Javascript
浅谈Sublime Text 3运行JavaScript控制台
2016/06/06 Javascript
关于jquery中动态增加select,事件无效的快速解决方法
2016/08/29 Javascript
JS 实现随机验证码功能
2017/02/15 Javascript
在vscode中统一vue编码风格的方法
2018/02/22 Javascript
jQuery实现参数自定义的文字跑马灯效果
2018/08/15 jQuery
JS实现数组的增删改查操作示例
2018/08/29 Javascript
javascript中一些奇葩的日期换算方法总结
2018/11/14 Javascript
详解Js里的for…in和for…of的用法
2019/03/28 Javascript
微信小程序文字显示换行问题
2019/07/28 Javascript
解决vue elementUI中table里数字、字母、中文混合排序问题
2020/01/07 Javascript
基于vue的tab-list类目切换商品列表组件的示例代码
2020/02/14 Javascript
js实现无限层级树形数据结构(创新算法)
2020/02/27 Javascript
基于vue.js仿淘宝收货地址并设置默认地址的案例分析
2020/08/20 Javascript
[51:50]完美世界DOTA2联赛 Magma vs GXR 第一场 11.07
2020/11/10 DOTA
Python中处理字符串之endswith()方法的使用简介
2015/05/18 Python
python实现随机森林random forest的原理及方法
2017/12/21 Python
学习Python selenium自动化网页抓取器
2018/01/20 Python
python切片及sys.argv[]用法详解
2018/05/25 Python
对python requests发送json格式数据的实例详解
2018/12/19 Python
使用Python向DataFrame中指定位置添加一列或多列的方法
2019/01/29 Python
Python3 操作 MySQL 插入一条数据并返回主键 id的实例
2020/03/02 Python
使用css3匹配手机屏幕横竖状态
2014/01/27 HTML / CSS
前端隐藏出边界内容的实现方法
2016/04/14 HTML / CSS
人事部主管岗位职责
2013/12/26 职场文书
省三好学生申请材料
2014/01/22 职场文书
《英英学古诗》教学反思
2014/04/11 职场文书
大学英语专业求职信
2014/06/21 职场文书