您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)php常用的加密方法是什么的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
php常用的加密方法有:1、使用md5()函數(shù);2、使用crypt()函數(shù);3、使用sha1()函數(shù);4、使用urlencode()函數(shù);5、使用base64_encode()函數(shù);6、使用password_hash()函數(shù)。
常用的PHP加密方式
1. MD5加密
string md5 ( string $str [, bool $raw_output = false ] )
參數(shù)
str -- 原始字符串。
raw_output -- 如果可選的 raw_output 被設(shè)置為 TRUE,那么 MD5 報文摘要將以16字節(jié)長度的原始二進(jìn)制格式返回。
2. Crype加密
crypt() 返回一個基于標(biāo)準(zhǔn) UNIX DES 算法或系統(tǒng)上其他可用的替代算法的散列字符串。
string crypt ( string $str [, string $salt ] )
參數(shù)
str -- 待散列的字符串。
salt -- 可選的鹽值字符串。如果沒有提供,算法行為將由不同的算法實現(xiàn)決定,并可能導(dǎo)致不可預(yù)料的結(jié)束。
這是也一種不可逆加密
3. Sha1加密
string sha1 ( string $str [, bool $raw_output = false ] )
參數(shù)
str -- 輸入字符串。
raw_output -- 如果可選的 raw_output 參數(shù)被設(shè)置為 TRUE,那么 sha1 摘要將以 20 字符長度的原始格式返回,否則返回值是一個 40 字符長度的十六進(jìn)制數(shù)字。
這是也一種不可逆加密
4. URL加密
string urlencode ( string $str )
此函數(shù)便于將字符串編碼并將其用于 URL 的請求部分,同時它還便于將變量傳遞給下一頁。
返回字符串,此字符串中除了 -_. 之外的所有非字母數(shù)字字符都將被替換成百分號(%)后跟兩位十六進(jìn)制數(shù),空格則編碼為加號(+)。此編碼與 WWW 表單 POST 數(shù)據(jù)的編碼方式是一樣的,同時與 application/x-www-form-urlencoded 的媒體類型編碼方式一樣。由于歷史原因,此編碼在將空格編碼為加號(+)方面與 RFC1738 編碼不同。
string urldecode ( string $str )
解碼給出的已編碼字符串中的任何 %##。 加號('+')被解碼成一個空格字符。
這是一種可逆加密,urlencode方法用于加密,urldecode方法用于解密
5. Base64信息編碼加密
string base64_encode ( string $data )
使用 base64 對 data 進(jìn)行編碼。
設(shè)計此種編碼是為了使二進(jìn)制數(shù)據(jù)可以通過非純 8-bit 的傳輸層傳輸,例如電子郵件的主體。
Base64-encoded 數(shù)據(jù)要比原始數(shù)據(jù)多占用 33% 左右的空間。
string base64_decode ( string $data [, bool $strict = false ] )
對 base64 編碼的 data 進(jìn)行解碼。
參數(shù)
data -- 編碼過的數(shù)據(jù)。
strict -- 如果輸入的數(shù)據(jù)超出了 base64 字母表,則返回 FALSE。
6.phpass(推薦)
經(jīng) phpass 0.3 測試,在存入數(shù)據(jù)庫之前進(jìn)行哈希保護(hù)用戶密碼的標(biāo)準(zhǔn)方式。 許多常用的哈希算法如 md5,甚至是 sha1 對于密碼存儲都是不安全的, 因為駭客能夠使用那些算法輕而易舉地破解密碼。
對密碼進(jìn)行哈希最安全的方法是使用 bcrypt 算法。開源的 phpass 庫以一個易于使用的類來提供該功能
7.個人認(rèn)為更好的密碼加密方式
PHP5.5引入了Password Hashing函數(shù),內(nèi)核自帶無需安裝擴(kuò)展。在PHP5.4下測試了下也可是可以的,使用前最好確認(rèn)一下你當(dāng)前的環(huán)境是否支持這些函數(shù)。
Password Hashing主要提供了4個函數(shù)
//1.查看哈希值的相關(guān)信息 array password_get_info (string $hash) //2.創(chuàng)建hash密碼 string password_hash(string $password , integer $algo [, array $options ]) //3.判斷hash密碼是否特定選項、算法所創(chuàng)建 boolean password_needs_rehash (string $hash , integer $algo [, array $options ] //4.驗證密碼 boolean password_verify (string $password , string $hash)
如下實例:
$password = 'password123456';//原始密碼 $hash_password = password_hash($password, PASSWORD_BCRYPT);//使用BCRYPT算法加密密碼 if (password_verify($password , $hash_password)){ echo "密碼匹配"; }else{ echo "密碼錯誤"; }
感謝各位的閱讀!關(guān)于“php常用的加密方法是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。