PHP生成隨機(jī)用戶名和密碼的實(shí)現(xiàn)代碼
有時(shí)候我們需要在應(yīng)用程序中使用隨機(jī)生成用戶名和密碼,這樣可以大大提高應(yīng)用程序的安全,在PHP中生成隨機(jī)用戶名和密碼可以使用 mt_rand 函數(shù)或者是 rand 函數(shù), rand 函數(shù)在驗(yàn)證碼中的應(yīng)用多一些,而生成長字符的隨機(jī)碼一般都需要 mt_rand 函數(shù)。
使用PHP生成隨機(jī)數(shù)可以應(yīng)用在許多地方,比如可以設(shè)計(jì)程序的隨機(jī)密碼、模擬擲骰子游戲的應(yīng)用程序、石頭剪子布游戲應(yīng)用程序等等。
下面是PHP生成隨機(jī)數(shù)的兩個函數(shù)方法:
//自動為用戶隨機(jī)生成用戶名(長度6-13)
function create_password($pw_length = 4){
$randpwd = '';
for ($i = 0; $i < $pw_length; $i++){
$randpwd .= chr(mt_rand(33, 126));
}
return $randpwd;
}
function generate_username( $length = 6 ) {
// 密碼字符集,可任意添加你需要的字符
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|';
$password = '';
for ( $i = 0; $i < $length; $i++ )
{
// 這里提供兩種字符獲取方式
// 第一種是使用substr 截取$chars中的任意一位字符;
// 第二種是取字符數(shù)組$chars 的任意元素
// $password .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
$password .= $chars[ mt_rand(0, strlen($chars) - 1) ];
}
return $password;
}
// 調(diào)用該函數(shù)
$userId = 'user'.generate_username(6);
$pwd = create_password(9);
相關(guān)文章
ThinkPHP使用心得分享-ThinkPHP + Ajax 實(shí)現(xiàn)2級聯(lián)動下拉菜單
聯(lián)動菜單的數(shù)據(jù)存在數(shù)據(jù)庫,可以隨時(shí)通過對數(shù)據(jù)庫添加刪除修改改變菜單數(shù)據(jù),而不需修改代碼,同時(shí),實(shí)現(xiàn)了2級后,也可以實(shí)現(xiàn)3級,4級。。。等關(guān)聯(lián)菜單2014-05-05如何解決CI框架的Disallowed Key Characters錯誤提示
本篇文章是對解決CodeIgniter框架應(yīng)用中,出現(xiàn)Disallowed Key Characters錯誤提示的方法,進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下2013-07-07php json_encode值中大括號與花括號區(qū)別
這篇文章主要介紹了json_encode值中大括號與花括號區(qū)別,具體的看下實(shí)例說明,需要的朋友參考下2013-09-09PHP大文件及斷點(diǎn)續(xù)傳下載實(shí)現(xiàn)代碼
這篇文章主要介紹了PHP大文件及斷點(diǎn)續(xù)傳下載實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08php+mysql實(shí)現(xiàn)數(shù)據(jù)庫隨機(jī)重排實(shí)例
這篇文章主要介紹了php+mysql實(shí)現(xiàn)數(shù)據(jù)庫隨機(jī)重排,講述了MySQL的查找及更新等處理技巧,有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-10-10