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中static静态变量的使用方法详解
Jun 04 PHP
PHP之数组学习
May 29 PHP
判断PHP数组是否为空的代码
Sep 08 PHP
php更新mysql后获取影响的行数发生异常解决方法
Mar 28 PHP
PHP eval函数使用介绍
Dec 08 PHP
PHP修改session_id示例代码
Jan 08 PHP
PHP计算指定日期所在周的开始和结束日期的方法
Mar 24 PHP
PHP CURL post数据报错 failed creating formpost data
Oct 16 PHP
Zend Framework上传文件重命名的实现方法
Nov 25 PHP
浅析PHP数据导出知识点
Feb 17 PHP
PHP的PDO预定义常量讲解
Jan 24 PHP
PHP实现提取多维数组指定一列的方法总结
Dec 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/01/28 PHP
PHP类中Static方法效率测试代码
2010/10/17 PHP
ThinkPHP基于PHPExcel导入Excel文件的方法
2014/10/15 PHP
Zend Framework教程之Zend_Layout布局助手详解
2016/03/04 PHP
PHP实现的服务器一致性hash分布算法示例
2018/08/09 PHP
php中的explode()函数实例介绍
2019/01/18 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
jQuery解决iframe高度自适应代码
2009/12/20 Javascript
简略说明Javascript中的= =(等于)与= = =(全等于)区别
2013/04/16 Javascript
js中单引号与双引号冲突问题解决方法
2013/10/04 Javascript
js取float型小数点后两位数的方法
2014/01/18 Javascript
关于jQuery中的each方法(jQuery到底干了什么)
2014/03/05 Javascript
JavaScript调试技巧之console.log()详解
2014/03/19 Javascript
JavaScript中的anchor()方法使用详解
2015/06/08 Javascript
纯JS单页面赛车游戏制作代码分享
2017/03/03 Javascript
nodejs 简单实现动态html的方法
2018/05/12 NodeJs
解决vue-router 二级导航默认选中某一选项的问题
2019/11/01 Javascript
利用原生JS实现欢乐水果机小游戏
2020/04/23 Javascript
使用原生JS实现滚轮翻页效果的示例代码
2020/05/31 Javascript
微信小程序实现聊天室
2020/08/21 Javascript
python中闭包Closure函数作为返回值的方法示例
2017/12/17 Python
python3 实现对图片进行局部切割的方法
2018/12/05 Python
python 采用paramiko 远程执行命令及报错解决
2019/10/21 Python
解决python中的幂函数、指数函数问题
2019/11/25 Python
Pytorch高阶OP操作where,gather原理
2020/04/30 Python
Python实现寻找回文数字过程解析
2020/06/09 Python
CSS3实现简易版的刮刮乐效果
2016/09/27 HTML / CSS
纯CSS3实现3D旋转书本效果
2016/03/21 HTML / CSS
施华洛世奇英国官网:SWAROVSKI英国
2017/03/13 全球购物
春秋航空官方网站:Spring Airlines
2017/09/27 全球购物
业务员岗位职责范本
2013/12/15 职场文书
和谐家庭演讲稿
2014/05/24 职场文书
企业文化口号
2014/06/12 职场文书
2014年乡镇纪委工作总结
2014/12/19 职场文书
雨花台导游词
2015/02/06 职场文书
Vue3 Composition API的使用简介
2021/03/29 Vue.js