版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第php生成用戶密碼的兩種方式方法四:
在用戶系統(tǒng)中,生成用戶的密碼是很重要的,而簡單的密碼必然給一些不法用戶開了一些門戶,這里列出幾種常見的密碼生成方式
一、md5密碼
這種應(yīng)該算是最常見的密碼加密方式了
md5是屬于非對稱加密中的一種,這種密碼方式其實(shí)說安全也很安全,而因?yàn)楣E鲎驳拇嬖?,會?dǎo)致可能會出現(xiàn)漏洞
最好是在加密的時候,加入混淆字符串,如下所示
functionmd5_password($password,$hash='autofelix_')
returnmd5($hash.$password);
$userinfo=/**查詢用戶信息**/;
if($userinfo['password']!==md5_password($password)){
/**密碼錯誤邏輯**/
/**密碼正確,繼續(xù)往后走邏輯**/
二、hash密碼
這種加密方式主要使用單向散列算法創(chuàng)建密碼的散列
PASSWORD_DEFAULT使用bcrypt算法
PASSWORD_BCRYPT使用CRYPT_BLOWFISH算法創(chuàng)建散列
PASSWORD_ARGON2I使用Argon2散列算法創(chuàng)建散列
這種密碼加密方式數(shù)據(jù)庫里儲存結(jié)果的列可超過60個字符,所以varchar長度請?jiān)O(shè)置255
functiongeneratePassword($password)
returnpassword_hash($password,PASSWORD_DEFAULT);
functionverifyPassword($password,$hashPassword)
returnpassword_verify($password,$hashPassword);
//加密結(jié)果:$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a
PS:php生成隨機(jī)密碼的幾種方法
方法一:
1、在33-126中生成一個隨機(jī)整數(shù),如35,
2、將35轉(zhuǎn)換成對應(yīng)的ASCII碼字符,如35對應(yīng)#
3、重復(fù)以上1、2步驟n次,連接成n位的密碼
該算法主要用到了兩個函數(shù),mt_rand(int$min,int$max)函數(shù)用于生成隨機(jī)整數(shù),其中$min-$max為ASCII碼的范圍,這里取33-126,可以根據(jù)需要調(diào)整范圍,如ASCII碼表中97-122位對應(yīng)a-z的英文字母,具體可參考ASCII碼表;chr(int$ascii)函數(shù)用于將對應(yīng)整數(shù)$ascii轉(zhuǎn)換成對應(yīng)的字符。
functioncreate_password($pw_length=8){
$randpwd='';
for($i=0;$i$pw_length;$i++){
$randpwd.=chr(mt_rand(33,126));
return$randpwd;
//調(diào)用該函數(shù),傳遞長度參數(shù)$pw_length=6
echocreate_password(6);
方法二:
1、預(yù)置一個的字符串$chars,包括a-z,A-Z,0-9,以及一些特殊字符
2、在$chars字符串中隨機(jī)取一個字符
3、重復(fù)第二步n次,可得長度為n的密碼
functiongenerate_password($length=8){
//密碼字符集,可任意添加你需要的字符
$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;
方法三:
1、預(yù)置一個的字符數(shù)組$chars,包括a-z,A-Z,0-9,以及一些特殊字符
2、通過array_rand()從數(shù)組$chars中隨機(jī)選出$length個元素
3、根據(jù)已獲取的鍵名數(shù)組$keys,從數(shù)組$chars取出字符拼接字符串。該方法的缺點(diǎn)是相同的字符不會重復(fù)取。
functionmake_password($length=8){
//密碼字符集,可任意添加你需要的字符
$chars=array('a','b','c','d','e','f','g','h',
'i','j','k','l','m','n','o','p','q','r','s',
't','u','v','w','x','y','z','A','B','C','D',
'E','F','G','H','I','J','K','L','M','N','O',
'P','Q','R','S','T','U','V','W','X','Y','Z',
'0','1','2','3','4','5','6','7','8','9','!',
'@','#','$','%','^','','*','(',')','-','_',
'[',']','{','}','','','~','`','+','=',',',
'.',';',':','/','','|');
//在$chars中隨機(jī)取$length個數(shù)組元素鍵名
$keys=array_rand($chars,$length);
$password='';
for($i=0;$i$length;$i++){
//將$length個數(shù)組元素連接成字符串
$password.=$chars[$keys[$i]];
return$password;
方法四:
本方法是本文被藍(lán)色理想轉(zhuǎn)載后,一名網(wǎng)友提供的一個新方法,算法簡單,代碼簡短,只是因?yàn)閙d5()函數(shù)的返回值的緣故,生成的密碼只包括字母和數(shù)字,不過也算是一個不錯的方法。算法思想:
1、time()獲取當(dāng)前的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年環(huán)境評估(土壤環(huán)境質(zhì)量評估)試題及答案
- 2025年中職(醫(yī)學(xué)檢驗(yàn))血常規(guī)檢測實(shí)務(wù)綜合測試題及答案
- 2025年大學(xué)(測繪科學(xué)與技術(shù)專業(yè))地理信息系統(tǒng)基礎(chǔ)試題及答案
- 2025年大學(xué)第四學(xué)年(工程項(xiàng)目融資)融資方案設(shè)計(jì)階段測試題及答案
- 2025年大學(xué)美術(shù)學(xué)(美術(shù)學(xué)概論)試題及答案
- 2025年大學(xué)安全教育(交通安全知識)試題及答案
- 2025年中職(市場開發(fā)實(shí)務(wù))客戶開發(fā)流程階段測試試題及答案
- 2025年中職船舶工程技術(shù)(船舶建造工藝)試題及答案
- 2025年中職道路橋梁工程技術(shù)(路橋施工技術(shù))試題及答案
- 2025年大學(xué)臨床醫(yī)學(xué)(臨床診療技術(shù))試題及答案
- 服裝代運(yùn)營協(xié)議書
- 對口升學(xué)考試綜合模擬試卷(第七版) 文化課綜合模擬試卷 參考答案
- 2025安徽省交通控股集團(tuán)有限公司六安中心招聘收費(fèi)協(xié)管員24人考試筆試參考題庫附答案解析
- 2025年移動式壓力容器充裝R2作業(yè)證考試練習(xí)題庫及答案
- 節(jié)能與新能源汽車技術(shù)路線圖2.0
- 保育員配合教學(xué)培訓(xùn)工作指南
- FSSC22000 V6食品安全管理體系管理手冊及程序文件
- 2025年保安員理論考試100題(附答案)
- 3單元4 彩虹 課件 2025-2026學(xué)年統(tǒng)編版小學(xué)語文二年級上冊
- DBJT15-140-2018 廣東省市政基礎(chǔ)設(shè)施工程施工安全管理標(biāo)準(zhǔn)
- 肝豆?fàn)詈俗冃愿涡阅X病護(hù)理查房
評論
0/150
提交評論