小編給大家分享一下php中md5()能夠?qū)崿F(xiàn)哪些功能,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
西雙版納網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司于2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
php md5()可以實(shí)現(xiàn)加密解密功能,其實(shí)現(xiàn)方法:1、通過(guò)“function string2secret($str){...}”方法實(shí)現(xiàn)加密;2、通過(guò)“function secret2string($sec){...}”方法實(shí)現(xiàn)解密。
本文操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦
php md5()實(shí)現(xiàn)什么功能?
php md5()可以實(shí)現(xiàn)加密解密功能。
php結(jié)合md5實(shí)現(xiàn)的加密解密方法,如下:
最近在整理代碼發(fā)現(xiàn)了一個(gè)不錯(cuò)的東西,結(jié)合md5的加解密算法。網(wǎng)上關(guān)于php結(jié)合md5的加密,解密算法比較少的,其實(shí)php手冊(cè)里面就有,改一改就行了。在此貼一下,用這算法要加載一個(gè)php模塊mcrypt,不然用不了。
//加密 function string2secret($str) { $key = "123"; $td = mcrypt_module_open(MCRYPT_DES,'','ecb',''); $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND); $ks = mcrypt_enc_get_key_size($td); $key = substr(md5($key), 0, $ks); mcrypt_generic_init($td, $key, $iv); $secret = mcrypt_generic($td, $str); mcrypt_generic_deinit($td); mcrypt_module_close($td); return $secret; } //解密 function secret2string($sec) { $key = "123"; $td = mcrypt_module_open(MCRYPT_DES,'','ecb',''); $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND); $ks = mcrypt_enc_get_key_size($td); $key = substr(md5($key), 0, $ks); mcrypt_generic_init($td, $key, $iv); $string = mdecrypt_generic($td, $sec); mcrypt_generic_deinit($td); mcrypt_module_close($td); return trim($string); } echo secret2string(string2secret("11111111111111111")); //顯示結(jié)果是11111111111111111 echo string2secret("11111111111111111"); //顯示亂碼
php經(jīng)常用的加解密函數(shù),base64_encode,base64_decode。
md5函數(shù)的定義和用法
md5() 函數(shù)計(jì)算字符串的 MD5 散列。
md5() 函數(shù)使用 RSA 數(shù)據(jù)安全,包括 MD5 報(bào)文摘要算法。
來(lái)自 RFC 1321 的解釋 - MD5 報(bào)文摘要算法:MD5 報(bào)文摘要算法將任意長(zhǎng)度的信息作為輸入值,并將其換算成一個(gè) 128 位長(zhǎng)度的"指紋信息"或"報(bào)文摘要"值來(lái)代表這個(gè)輸入值,并以換算后的值作為結(jié)果。MD5 算法主要是為數(shù)字簽名應(yīng)用程序而設(shè)計(jì)的;在這個(gè)數(shù)字簽名應(yīng)用程序中,較大的文件將在加密(這里的加密過(guò)程是通過(guò)在一個(gè)密碼系統(tǒng)下[如:RSA]的公開(kāi)密鑰下設(shè)置私有密鑰而完成的)之前以一種安全的方式進(jìn)行壓縮。
如需計(jì)算文件的 MD5 散列,請(qǐng)使用 md5_file() 函數(shù)。
語(yǔ)法
md5(string,raw)
參數(shù)
string 必需。規(guī)定要計(jì)算的字符串。
raw
可選。規(guī)定十六進(jìn)制或二進(jìn)制輸出格式:
TRUE - 原始 16 字符二進(jìn)制格式
FALSE - 默認(rèn)。32 字符十六進(jìn)制數(shù)
看完了這篇文章,相信你對(duì)“php中md5()能夠?qū)崿F(xiàn)哪些功能”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!