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 相关文章推荐
一次编写,随处运行
Oct 09 PHP
谈谈PHP语法(5)
Oct 09 PHP
PHP5.3安装Zend Guard Loader图文教程
Sep 29 PHP
Smarty中常用变量操作符汇总
Oct 27 PHP
PHP5.3以上版本安装ZendOptimizer扩展
Mar 27 PHP
PHP的邮件群发系统phplist配置方法详细总结
Mar 30 PHP
PHP模板引擎Smarty内建函数section,sectionelse用法详解
Apr 11 PHP
Yii2 rbac权限控制之rule教程详解
Jun 23 PHP
THINKPHP截取中文字符串函数实例代码
Mar 20 PHP
PHP微信公众号开发之微信红包实现方法分析
Jul 14 PHP
php实现微信企业付款到个人零钱功能
Oct 09 PHP
Laravel 验证码认证学习记录小结
Dec 20 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 is_dir() 判断给定文件名是否是一个目录
2010/05/10 PHP
php将会员数据导入到ucenter的代码
2010/07/18 PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
2014/01/14 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
2014/09/24 PHP
php通过array_push()函数添加多个变量到数组末尾的方法
2015/03/18 PHP
joomla数据库操作示例代码
2016/01/06 PHP
python进程与线程小结实例分析
2018/11/11 PHP
兼容ie、firefox的图片自动缩放的css跟js代码分享
2012/01/21 Javascript
JS实现简易图片轮播效果的方法
2015/03/25 Javascript
jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
2016/01/19 Javascript
jquery通过name属性取值的简单实现方法
2016/06/20 Javascript
jQuery实现可拖拽的许愿墙效果【附demo源码下载】
2016/09/14 Javascript
基于javascript实现数字英文验证码
2017/01/25 Javascript
AngularJS中$http使用的简单介绍
2017/03/17 Javascript
js实现城市级联菜单的2种方法
2017/06/23 Javascript
Bootstrap提示框效果的实例代码
2017/07/12 Javascript
vue中如何添加百度统计代码
2020/12/19 Vue.js
Python 基础之字符串string详解及实例
2017/04/01 Python
python reverse反转部分数组的实例
2018/12/13 Python
对python中矩阵相加函数sum()的使用详解
2019/01/28 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
2019/08/05 Python
使用python从三个角度解决josephus问题的方法
2020/03/27 Python
pyCharm 实现关闭代码检查
2020/06/09 Python
python打开文件的方式有哪些
2020/06/29 Python
JAVA和C++的区别
2013/10/06 面试题
JAVA程序设计笔试题面试题一套
2015/07/28 面试题
如何写你的创业计划书
2014/01/07 职场文书
大学生在校学习的自我评价
2014/02/18 职场文书
劳动竞赛口号
2014/06/16 职场文书
合作协议书格式
2014/08/19 职场文书
离婚财产处理协议书
2014/09/30 职场文书
2015年手术室工作总结
2015/05/11 职场文书
运输公司工作总结
2015/08/11 职场文书
五一放假通知怎么写
2015/08/18 职场文书
postgresql 删除重复数据案例详解
2021/08/02 PostgreSQL
利用Python将list列表写入文件并读取的方法汇总
2022/03/25 Python