您好,登錄后才能下訂單哦!
小編給大家分享一下php中md5()能夠實現哪些功能,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
php md5()可以實現加密解密功能,其實現方法:1、通過“function string2secret($str){...}”方法實現加密;2、通過“function secret2string($sec){...}”方法實現解密。
本文操作環境:windows7系統、PHP7.1版,DELL G3電腦
php md5()實現什么功能?
php md5()可以實現加密解密功能。
php結合md5實現的加密解密方法,如下:
最近在整理代碼發現了一個不錯的東西,結合md5的加解密算法。網上關于php結合md5的加密,解密算法比較少的,其實php手冊里面就有,改一改就行了。在此貼一下,用這算法要加載一個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")); //顯示結果是11111111111111111 echo string2secret("11111111111111111"); //顯示亂碼
php經常用的加解密函數,base64_encode,base64_decode。
md5函數的定義和用法
md5() 函數計算字符串的 MD5 散列。
md5() 函數使用 RSA 數據安全,包括 MD5 報文摘要算法。
來自 RFC 1321 的解釋 - MD5 報文摘要算法:MD5 報文摘要算法將任意長度的信息作為輸入值,并將其換算成一個 128 位長度的"指紋信息"或"報文摘要"值來代表這個輸入值,并以換算后的值作為結果。MD5 算法主要是為數字簽名應用程序而設計的;在這個數字簽名應用程序中,較大的文件將在加密(這里的加密過程是通過在一個密碼系統下[如:RSA]的公開密鑰下設置私有密鑰而完成的)之前以一種安全的方式進行壓縮。
如需計算文件的 MD5 散列,請使用 md5_file() 函數。
語法
md5(string,raw)
參數
string 必需。規定要計算的字符串。
raw
可選。規定十六進制或二進制輸出格式:
TRUE - 原始 16 字符二進制格式
FALSE - 默認。32 字符十六進制數
看完了這篇文章,相信你對“php中md5()能夠實現哪些功能”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。