首頁 > 後端開發 > PHP問題 > php md5()實作什麼功能

php md5()實作什麼功能

藏色散人
發布: 2023-03-11 07:34:01
原創
1534 人瀏覽過

php md5()可實現加密解密功能,其實作方法:1、透過「function string2secret($str){...}」方法實現加密;2、透過「function secret2string($sec) {...}”方法實作解密。

php md5()實作什麼功能

本文操作環境: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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板