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影片教學》
以上是php md5()實作什麼功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!