php結(jié)合md5實現(xiàn)的加密解密方法
本文實例講述了php結(jié)合md5實現(xiàn)的加密解密方法。分享給大家供大家參考,具體如下:
最近在整理代碼發(fā)現(xiàn)了一個不錯的東西,結(jié)合md5的加解密算法。網(wǎng)上關(guān)于php結(jié)合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")); //顯示結(jié)果是11111111111111111
echo string2secret("11111111111111111"); //顯示亂碼
php經(jīng)常用的加解密函數(shù),base64_encode,base64_decode。
更多關(guān)于PHP加密解密相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php加密方法總結(jié)》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
PHP編程之微信公眾平臺企業(yè)號驗證接口示例【回調(diào)操作】
這篇文章主要介紹了PHP編程之微信公眾平臺企業(yè)號驗證接口,是通過回調(diào)操作實現(xiàn)的企業(yè)號驗證功能接口,需要的朋友可以參考下2017-08-08
使用PHP接收POST數(shù)據(jù),解析json數(shù)據(jù)
本篇文章是對使用PHP接收POST數(shù)據(jù)以及json數(shù)據(jù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
用Zend Studio+PHPnow+Zend Debugger搭建PHP服務(wù)器調(diào)試環(huán)境步驟
作為一名非專業(yè)的PHP開發(fā)者,想要較方便地讀懂并搞清楚一個PHP功能模塊的運行細(xì)節(jié),搭建一個PHP調(diào)試環(huán)境,然后單步調(diào)試程序,以掌握程序的整個運行過程顯的尤為重要2014-01-01

