本文目錄一覽:
如何讓php能象java的方式md5加密
?php//示例代碼:$str = ‘hello 這裡是php preg_match正則匹配演示’;// UTF8編碼:正則表達式匹配中文;if(preg_match(‘/[\x{4e00}-\x{9fa5}]+/u’,$str)){ echo ‘匹配成功,有中文字元串!’;}else{ echo ‘沒有中文字元串。’;}// GB2312,GBK編碼:正則表達式匹配中文;if(preg_match(“/^[“.chr(0xa1).”-“.chr(0xff).”A-Za-z0-9_]+$/”,$str)){ echo ‘匹配成功,有中文字元串!’;}else{ echo ‘沒有中文字元串。’;} ?你看看這樣怎麼樣,建議你去後盾人看看,那裡有教學視頻
php中如何使用MD5碼
首先介紹一下PHP中MD5函數的使用方法:
?php
$pswd1=md5(“cenusdesign”);
echo $pswd1; //運行結果為:fc60ec37d1c08d5b0fb67a8cd934d5ba
$pswd2=md5(“Cenusdesign”);
echo $pswd2; //運行結果為:067577d9fc109c80538c81d6f02bd293
?
顯然,經過md5加密後,原本「cenusdesign」轉變成了一組32位的字元串,而且,即使是一個字母的大小寫變化,這組字元串就會發生巨大的變化。
Cenus Design建議把用戶註冊時,將密碼首先經過MD5轉換,然後將轉換加密後的資料庫。在用戶登陸時,也將密碼先進行MD5轉化,再和資料庫中那組經過MD5加密的字元串進行比較。這樣,就可以做到在不知道用戶確切密碼的情況下完成密碼的比對操作。
php中的MD5加密
規範的可能比較複雜,我也只是用過普通的方法。曾經開發系統的時候,我沒用PHP進行加密驗證而是在資料庫中進行加密驗證的時候,直接將密碼變數傳入資料庫中的查詢語句用類似’Select * From user WHERE userpassword = MD5(‘.$password.’) AND username =’.$userid.『』;這樣的語句在資料庫中查詢如果返回的行數不為零,則說明密碼合法,返回該用戶的相關數據
php中如何使用MD5加密?
把這段密文分割成若干段,對每段都進行一次MD5運算,然後把這堆密文連成一個超長的字元串,最後再進行一次MD5運算,得到仍然是長度為32位的密文。
?php
//把密文分割成兩段,每段16個字元
function md5_2_1($data)
{
//先把密碼加密成長度為32字元的密文
$data = md5($data);
//把密碼分割成兩段
$left = substr($data, 0, 16);
$right = substr($data, 16, 16);
//分別加密後再合併
$data = md5($left).md5($right);
//最後把長字串再加密一次,成為32字元密文
return md5($data);
}
//把密文分割成32段,每段1個字元
function md5_2_2($data)
{
$data = md5($data);
//循環地截取密文中的每個字元並進行加密、連接
for ($i = 0; $i 32; $i++) {
$data .= md5($data{$i});
}
//這時$data長度為1024個字元,再進行一次MD5運算
return md5($data);
}
?
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/241228.html