程序员人生 网站导航

php生成随机密码程序代码

栏目:php教程时间:2013-10-13 16:53:46

生成随机密码方法有很多种,最简单的就是使用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
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐