网站地图    收藏   

主页 > php专栏 > php函数大全 >

php生成随机密码程序代码 - php函数

来源:自学PHP网    时间:2014-11-25 00:27 作者: 阅读:

[导读] 生成随机密码方法有很多种,最简单的就是使用php mt_rand()函数来直接生成一串数字了,下面我来给大家介绍php生成随机密码程序最简单的办法m...

php生成随机密码程序代码

生成随机密码方法有很多种,最简单的就是使用php mt_rand()函数来直接生成一串数字了,下面我来给大家介绍php生成随机密码程序

最简单的办法mt_rand函数.

mt_rand() 使用 Mersenne Twister 算法返回随机整数。

在本例中,我们会返回一些随机数,代码如下:

  1. <?php 
  2. echo(mt_rand()); 
  3. echo(mt_rand()); 
  4. echo(mt_rand(10,100)); 
  5. ?> 
  6. //输出类似: 
  7. //3150906288 
  8. //513289678 
  9. //35 

上面相对来说安全指数很低的,因为全是数字哦,下面另名一种

1、预置一个的字符串 $chars,包括 a – z,A – Z,0 – 9,以及一些特殊字符

2、在 $chars 字符串中随机取一个字符

实例代码如下

  1. function generate_password( $length = 8 ) {  
  2. // 密码字符集,可任意添加你需要的字符  
  3. $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|'
  4. $password = '';  
  5. for ( $i = 0; $i < $length$i++ )  
  6. {  
  7. // 这里提供两种字符获取方式  
  8. // 第一种是使用 substr 截取$chars中的任意一位字符;  
  9. // 第二种是取字符数组 $chars 的任意元素  
  10. // $password .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);  
  11. $password .= $chars[ mt_rand(0, strlen($chars) - 1) ];  
  12. }  
  13. return $password;  

一个朋友提供的md5()函数的返回值的缘故,生成的密码只包括字母和数字,不过也算是一个不错的方法,算法思想:

1、time() 获取当前的 Unix 时间戳

2、将第一步获取的时间戳进行 md5() 加密

3、将第二步加密的结果,截取 n 位即得想要的密码

实例代码如下:

  1. function get_password( $length = 8 )  
  2.     $str = substr(md5(time()), 0, 6); 
  3.     return $str

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论