首页 > 开发 > PHP > 正文

php实现随机生成易于记忆的密码

2024-05-04 23:36:36
字体:
来源:转载
供稿:网友

这篇文章主要介绍了php实现随机生成易于记忆的密码,实例分析了php生成随机密码的相关技巧,需要的朋友可以参考下

本文实例讲述了php实现随机生成易于记忆的密码。分享给大家供大家参考。具体实现方法如下:

这里通过预定义一些单词,让php随机从这些单词中选择进行组合生成密码

 

 
  1. function random_readable_pwd($length=10){ 
  2. // the wordlist from which the password gets generated  
  3. // (change them as you like) 
  4. $words = 'dog,cat,sheep,sun,sky,red,ball,happy,ice,'
  5. $words .= 'green,blue,music,movies,radio,green,turbo,'
  6. $words .= 'mouse,computer,paper,water,fire,storm,chicken,'
  7. $words .= 'boot,freedom,white,nice,player,small,eyes,'
  8. $words .= 'path,kid,box,black,flower,ping,pong,smile,'
  9. $words .= 'coffee,colors,rainbow,plus,king,tv,ring'
  10. // Split by ",": 
  11. $words = explode(','$words); 
  12. if (count($words) == 0){ die('Wordlist is empty!'); } 
  13. // Add words while password is smaller than the given length 
  14. $pwd = ''
  15. while (strlen($pwd) < $length){ 
  16. $r = mt_rand(0, count($words)-1); 
  17. $pwd .= $words[$r]; 
  18. // append a number at the end if length > 2 and 
  19. // reduce the password size to $length 
  20. $num = mt_rand(1, 99); 
  21. if ($length > 2){ 
  22. $pwd = substr($pwd,0,$length-strlen($num)).$num
  23. else {  
  24. $pwd = substr($pwd, 0, $length); 
  25. return $pwd
  26. //使用范例: 
  27. random_readable_pwd(10) => returns something like: pingwater6, radiohap28, sunwhite84, happykid44, etc... 

希望本文所述对大家的php程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表