程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php生成隨機密碼程序代碼

php生成隨機密碼程序代碼

編輯:關於PHP編程

生成隨機密碼方法有很多種,最簡單的就是使用php mt_rand()函數來直接生成一串數字了,下面我來給大家介紹php生成隨機密碼程序

最簡單的辦法mt_rand函數

mt_rand() 使用 Mersenne Twister 算法返回隨機整數。

例子

在本例中,我們會返回一些隨機數:

 代碼如下 復制代碼

<?php
echo(mt_rand());
echo(mt_rand());
echo(mt_rand(10,100));
?>

輸出類似:

3150906288
513289678
35

上面相對來說安全指數很低的,因為全是數字哦,下面另名一種

1、預置一個的字符串 $chars ,包括 a – z,A – Z,0 – 9,以及一些特殊字符
2、在 $chars 字符串中隨機取一個字符

 代碼如下 復制代碼

function generate_password( $length = 8 ) {
// 密碼字符集,可任意添加你需要的字符
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|';

$password = '';
for ( $i = 0; $i < $length; $i++ )
{
// 這裡提供兩種字符獲取方式
// 第一種是使用 substr 截取$chars中的任意一位字符;
// 第二種是取字符數組 $chars 的任意元素
// $password .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
$password .= $chars[ mt_rand(0, strlen($chars) - 1) ];
}
return $password;
}

一個朋友提供的md5()函數的返回值的緣故,生成的密碼只包括字母和數字,不過也算是一個不錯的方法。算法思想:
1、time() 獲取當前的 Unix 時間戳
2、將第一步獲取的時間戳進行 md5() 加密
3、將第二步加密的結果,截取 n 位即得想要的密碼

 代碼如下 復制代碼

function get_password( $length = 8 )
{
    $str = substr(md5(time()), 0, 6);
    return $str;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved