php 開發(fā)中加密的幾種方法總結(jié)
1,使用crypt()函數(shù)進(jìn)行加密
crypt()函數(shù)可以進(jìn)行單項(xiàng)加密,具體語法如下:
string crypt(string str[,tring salt])
其中 str是要加密的字符串,salt為加密時(shí)使用的干擾串,如果省掉第二個(gè)參數(shù),就會(huì)隨機(jī)生成一個(gè)干擾串。crypt()函數(shù)支持四種算法和長度。具體如下表:
示例代碼如下:
<?php $str ="I'm jack!!!"; echo "加密前的str為:".$str."<br>"; $cryptStr =crypt($str); echo "加密后的str為:".$cryptStr."<br>"; ?>
運(yùn)行結(jié)果如下:
第一次運(yùn)行:
第二次運(yùn)行:
第三次運(yùn)行的結(jié)果:
可以看到每次加密后的結(jié)果都不一樣。那么該如何判斷加密后的字符串呢,這個(gè)時(shí)候你會(huì)發(fā)現(xiàn)salt就該派上用場了。哈哈。下面我們通過一段代碼來演示下:
<?php $str ="I'm jack!!!"; echo "加密前的str為:".$str."<br>"; $cryptStr =crypt($str,"doc"); echo "加密后的str為:".$cryptStr."<br>"; ?>
運(yùn)行結(jié)果如下:
你會(huì)發(fā)現(xiàn)無論運(yùn)行多少次加密串是不變的,這樣我們就可以判斷加密后的字符串了。
2,使用md5()函數(shù)進(jìn)行加密
md5()函數(shù)使用MD5算法。語法格式如下:
string md5(string str[,bool raw_ouput])
其中str為要加密的明文,raw_output參數(shù)如果設(shè)置為true,則返回一個(gè)二進(jìn)制的密文,默認(rèn)為false。
3,使用sha1()函數(shù)進(jìn)行加密
語法格式如下:
string sha1(string str[,bool,raw_output])
str為要加密的明文,raw_output如果為true,那么返回一個(gè)20位的二進(jìn)制數(shù)。默認(rèn)raw_output為false。
感謝閱讀, 希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
Yii 使用intervention/image拓展實(shí)現(xiàn)圖像處理功能
這篇文章主要介紹了Yii 使用intervention/image拓展實(shí)現(xiàn)圖像處理功能,需要的朋友可以參考下2019-06-06PHP連接數(shù)據(jù)庫實(shí)現(xiàn)簡單的登錄頁面功能
這篇文章主要介紹了PHP連接數(shù)據(jù)庫實(shí)現(xiàn)簡單的登錄頁面功能,文中的示例代碼講解詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,感興趣的可以了解一下2023-09-09探討php define()函數(shù)及defined()函數(shù)使用詳解
本篇文章是對php中define()函數(shù)及defined()函數(shù)的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06使用Canal實(shí)現(xiàn)PHP應(yīng)用程序與MySQL數(shù)據(jù)庫的實(shí)時(shí)數(shù)據(jù)同步
Canal是阿里巴巴開源的一個(gè)數(shù)據(jù)同步工具,可實(shí)現(xiàn)MySQL數(shù)據(jù)庫到其他數(shù)據(jù)源的實(shí)時(shí)同步,PHP應(yīng)用程序中可輕松使用,提高系統(tǒng)的可靠性和實(shí)時(shí)性,提供了豐富的API和文檔支持2023-04-04