php生成隨機(jī)密碼程序代碼
來源:程序員人生 發(fā)布時(shí)間:2013-10-13 16:53:46 閱讀次數(shù):3191次
生成隨機(jī)密碼方法有很多種,最簡(jiǎn)單的就是使用php mt_rand()函數(shù)來直接生成一串?dāng)?shù)字了,下面我來給大家介紹php生成隨機(jī)密碼程序
最簡(jiǎn)單的辦法mt_rand函數(shù).
mt_rand() 使用 Mersenne Twister 算法返回隨機(jī)整數(shù)。
在本例中,我們會(huì)返回一些隨機(jī)數(shù),代碼如下:
- <?php
- echo(mt_rand());
- echo(mt_rand());
- echo(mt_rand(10,100));
- ?>
-
-
-
-
上面相對(duì)來說安全指數(shù)很低的,因?yàn)槿菙?shù)字哦,下面另名一種
1、預(yù)置一個(gè)的字符串 $chars,包括 a – z,A – Z,0 – 9,以及一些特殊字符
2、在 $chars 字符串中隨機(jī)取一個(gè)字符
實(shí)例代碼如下
- function generate_password( $length = 8 ) {
-
- $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|';
- $password = '';
- for ( $i = 0; $i < $length; $i++ )
- {
-
-
-
-
- $password .= $chars[ mt_rand(0, strlen($chars) - 1) ];
- }
- return $password;
- }
一個(gè)朋友提供的md5()函數(shù)的返回值的緣故,生成的密碼只包括字母和數(shù)字,不過也算是一個(gè)不錯(cuò)的方法,算法思想:
1、time() 獲取當(dāng)前的 Unix 時(shí)間戳
2、將第一步獲取的時(shí)間戳進(jìn)行 md5() 加密
3、將第二步加密的結(jié)果,截取 n 位即得想要的密碼
實(shí)例代碼如下:
- function get_password( $length = 8 )
- {
- $str = substr(md5(time()), 0, 6);
- return $str;
- }
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)