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中模拟POST传递数据的两种方法分享
Sep 16 PHP
phpexcel导出excel的颜色和网页中的颜色显示不一致
Dec 11 PHP
php输入流php://input使用示例(php发送图片流到服务器)
Dec 25 PHP
成为好程序员必须避免的5个坏习惯
Jul 04 PHP
PHP编译安装中遇到的两个错误和解决方法
Aug 20 PHP
php继承中方法重载(覆盖)的应用场合
Feb 09 PHP
PHP使用array_fill定义多维数组的方法
Mar 18 PHP
学习php设计模式 php实现策略模式(strategy)
Dec 07 PHP
php连接oracle数据库的核心步骤
May 26 PHP
YII视图整合kindeditor扩展的方法
Jul 13 PHP
PHP微信支付实例解析
Jul 22 PHP
yii框架结合charjs实现统计30天数据的方法
Apr 04 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 将字符串按大写字母分隔成字符串数组
2010/04/30 PHP
php fseek函数读取大文件两种方法
2016/10/12 PHP
PHP命名空间与自动加载类详解
2018/09/04 PHP
php用xpath解析html的代码实例讲解
2019/02/14 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
2020/01/23 PHP
在 IE 中调用 javascript 打开 Excel 表
2006/12/21 Javascript
js刷新框架子页面的七种方法代码
2008/11/20 Javascript
用document.documentElement取代document.body的原因分析
2009/11/12 Javascript
jquery 图片截取工具jquery.imagecropper.js
2010/04/09 Javascript
jQeury淡入淡出需要注意的问题
2010/09/08 Javascript
js实现拖拽 闭包函数详细介绍
2012/11/25 Javascript
jQuery选择器querySelector的使用指南
2015/01/23 Javascript
Bootstrap每天必学之按钮(一)
2015/11/24 Javascript
简单了解JavaScript操作XPath的一些基本方法
2016/06/03 Javascript
jQuery+css实现非常漂亮的水平导航菜单效果
2016/07/27 Javascript
JS实现的系统调色板完整实例
2016/12/21 Javascript
Auto.js自动收取自己和好友蚂蚁森林能量脚本
2018/06/28 Javascript
基于node+websocket+html实现腾讯课堂聊天室聊天功能
2020/03/04 Javascript
vue项目中使用rem,在入口文件添加内容操作
2020/11/11 Javascript
Python中for循环控制语句用法实例
2015/06/02 Python
python实现各种插值法(数值分析)
2019/07/30 Python
Pytorch 实现数据集自定义读取
2020/01/18 Python
Django如何使用asyncio协程和ThreadPoolExecutor多线程
2020/10/12 Python
解决python3.6用cx_Oracle库连接Oracle的问题
2020/12/07 Python
python实现代码审查自动回复消息
2021/02/01 Python
基于HTML5+tracking.js实现刷脸支付功能
2020/04/16 HTML / CSS
英国儿童设计师服装的领先零售商:Base
2019/03/17 全球购物
大学生预备党员自我评价分享
2013/11/16 职场文书
异地年检委托书范本
2014/09/24 职场文书
2014年会计人员工作总结
2014/12/10 职场文书
单位推荐信范文
2015/03/27 职场文书
国博复兴之路观后感
2015/06/02 职场文书
Java面试题冲刺第十九天--数据库(4)
2021/08/07 Java/Android
Redis模仿手机验证码发送的实现示例
2021/11/02 Redis
MYSQL 运算符总结
2021/11/11 MySQL
三星 3nm 芯片将于第二季度开始量产
2022/04/29 数码科技