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聊天室技术
Oct 09 PHP
PHP 文件扩展名 获取函数
Jun 03 PHP
在PHP中PDO解决中文乱码问题的一些补充
Sep 06 PHP
php获取参数的几种方法总结
Feb 18 PHP
php之Smarty模板使用方法示例详解
Jul 08 PHP
php使用ob_start()实现图片存入变量的方法
Nov 14 PHP
一个经典实用的PHP图像处理类分享
Nov 18 PHP
PHP与jquery实时显示网站在线人数实例详解
Dec 02 PHP
php数据库的增删改查 php与javascript之间的交互
Aug 31 PHP
基于PHP的加载类操作以及其他两种魔术方法的应用实例
Aug 28 PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
Sep 03 PHP
PHP strripos函数用法总结
Feb 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
PHP4中session登录页面的应用
2008/07/25 PHP
基于PHP实现用户登录注册功能的详细教程
2020/08/04 PHP
JS控件autocomplete 0.11演示及下载 1月5日已更新
2007/01/09 Javascript
jQuery 学习第六课 实现一个Ajax的TreeView
2010/05/17 Javascript
JQuery datepicker 使用方法
2011/05/20 Javascript
javascript 三种方法实现获得和设置以及移除元素属性
2013/03/20 Javascript
jquery修改属性值实例代码(设置属性值)
2014/01/06 Javascript
node.js中的fs.rename方法使用说明
2014/12/16 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
2015/09/15 Javascript
JS实现网页上随滚动条滚动的层效果代码
2015/11/04 Javascript
详解JavaScript基于面向对象之继承实例
2015/12/16 Javascript
原生JavaScript实现动态省市县三级联动下拉框菜单实例代码
2016/02/03 Javascript
js实现简单的计算器功能
2017/01/16 Javascript
bootstrap 模态框(modal)实现水平垂直居中显示
2017/01/23 Javascript
Bootstrap fileinput组件封装及使用详解
2017/03/10 Javascript
js实现适配不同的屏幕大小
2017/04/10 Javascript
vue项目中引入noVNC远程桌面的方法
2018/03/05 Javascript
AngularJs1.x自定义指令独立作用域的函数传入参数方法
2018/10/09 Javascript
基于Vue2-Calendar改进的日历组件(含中文使用说明)
2019/04/14 Javascript
vue实现简单的日历效果
2020/09/24 Javascript
基于JavaScript实现控制下拉列表
2020/05/08 Javascript
vue父子组件间引用之$parent、$children
2020/05/20 Javascript
pycharm 使用心得(五)断点调试
2014/06/06 Python
Python多线程经典问题之乘客做公交车算法实例
2017/03/22 Python
Python面向对象之继承代码详解
2018/01/29 Python
Django添加feeds功能的示例
2018/08/07 Python
PyCharm代码回滚,恢复历史版本的解决方法
2018/10/22 Python
python logging 日志的级别调整方式
2020/02/21 Python
python3用urllib抓取贴吧邮箱和QQ实例
2020/03/10 Python
Python openpyxl 插入折线图实例
2020/04/17 Python
css3进行截取替代js的substring
2013/09/02 HTML / CSS
UNIONBAY官网:美国青少年服装品牌
2019/03/26 全球购物
《花木兰》教学反思
2014/04/09 职场文书
副检察长四风问题对照检查材料思想汇报
2014/10/07 职场文书
描写九月优美句子(39条)
2019/09/11 职场文书
golang switch语句的灵活写法介绍
2021/05/06 Golang