?php//加密函数function passport_encrypt($txt, $key) { srand((double)microtime() * 1000000); $encrypt_key = md5(rand(0, 32000)); $ctr = 0; $tmp = for($i = 0;$i strlen($txt); $i++) { $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr; $tmp .= $encrypt_key[$ctr].($txt[$i] ^ $encrypt_key[$ctr++]); return base64_encode(passport_key($tmp, $key));//解密函数function passport_decrypt($txt, $key) { $txt = passport_key(base64_decode($txt), $key); $tmp = for($i = 0;$i strlen($txt); $i++) { $md5 = $txt[$i]; $tmp .= $txt[++$i] ^ $md5; return $tmp;//上面两个函数用到的公共函数function passport_key($txt, $encrypt_key) { $encrypt_key = md5($encrypt_key); $ctr = 0; $tmp = for($i = 0; $i strlen($txt); $i++) { $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr; $tmp .= $txt[$i] ^ $encrypt_key[$ctr++]; return $tmp;//----------------------------------------//----------------------------------------//-------------示例-----------------------//----------------------------------------//----------------------------------------$str = 你好,我是+-!少林a b张三丰 echo br ------key:aaa---------- br echo $x = passport_encrypt($str, aaa //值会变,其中一个如下 //AOdS7lWlU+IM+1fnALBV5QOOV7dchQfEX+MCwgf2U3BXeQcnVuNavgPAA+hbmlLJAWEHIVRnD7hYvgf/U+lS4gCKUrdVvVO3echo br ----------------------- br echo passport_decrypt($x, aaa echo br br br br br br br br br br br br echo br ------key:bbb---------- br echo $y = passport_encrypt($str, bbb //值会变,其中一个如下//Ae0F5gD1C+oB9wC/DOZZ6AeKU7MCjleWUbEAmFGuAi4JLF8gUeFW4lKQUrYBmlrAA2MHIVcxBrMFv1PzXOha5QGABb8A7Qu/echo br ----------------------- br echo passport_decrypt($y, bbb ?
?php//加解密字符串函数,可以加密中文echo $encode = authcode( 爱迪生 , ENCODE , 3 //DvAHOdGFqa8xK4CDLnbr2mEecho $decode = authcode($encode, DECODE , 3 //爱迪生$auth_key = 34577;参数:$string字符串,$operation加密还是解密,$key密钥function authcode($string, $operation, $key = ) $key = md5($key ? $key : $GLOBALS[ auth_key $key_length = strlen($key); $string = $operation == DECODE ? base64_decode($string) : substr(md5($string . $key), 0, 8) . $string; $string_length = strlen($string); $rndkey = $box = array(); $result = for ($i = 0; $i = 255; $i++) { $rndkey[$i] = ord($key[$i % $key_length]); $box[$i] = $i; for ($j = $i = 0; $i 256; $i++) { $j = ($j + $box[$i] + $rndkey[$i]) % 256; $tmp = $box[$i]; $box[$i] = $box[$j]; $box[$j] = $tmp; for ($a = $j = $i = 0; $i $string_length; $i++) { $a = ($a + 1) % 256; $j = ($j + $box[$a]) % 256; $tmp = $box[$a]; $box[$a] = $box[$j]; $box[$j] = $tmp; $result .= chr(ord($string[$i]) ^ $box[($box[$a] + $box[$j]) % 256]); if ($operation == DECODE ) { if (substr($result, 0, 8) == substr(md5(substr($result, 8) . $key), 0, 8)) { return substr($result, 8); } else { return } else { return str_replace( = , , base64_encode($result));?
相关教程:PHP视频教程
以上就是PHP加密解密函数代码实现范例的详细内容,PHP教程
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答