本文實例講述了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。
更多關於PHP加密解密相關內容感興趣的讀者可查看本站專題:《php加密方法總結》
希望本文所述對大家PHP程序設計有所幫助。