因为要在连接里加参数所以多参数加密 但是用原生的base64 会有一些符号‘/’,‘=’这样的出现就破坏了链接的有效性,所以在网上找到了如下的替代方法测试是有效的。
function base64_en($str){ $result = base64_encode($str); $result = str_replace("/","-",$result); $result = str_replace("+","(",$result); $i=0; while(substr($result,strlen($result)-1)=="="){ $result = substr($result,0,strlen($result)-1); $i++; } return $result . $i; } function base64_de($str){ $result = str_replace("-","/",$str); $result = str_replace("(","+",$result); $last = intval(substr($result,strlen($result)-1)); $normal = substr($result,0,strlen($result)-1); if($last==0){return base64_decode($normal);} for($i=1;$i<=$last;$i++){ $normal .= "="; } return base64_decode($normal); }