php url加密解密代码,传送url地址更安全了

2019年12月11日21:46:09

对于url加密解密,我们通常简单的使用urlencoderawurlencode,有时为了使url加密获得更多安全保障,我们就要使用复杂一点的url加密解密程序来完成了。本文介绍一个php url加密解密程序,代码不多,使用简单,值得推荐使用。

url加密解密函数如下:

//---------------以下为加密函数(复制过去就行了)-----------------
function keyED($txt,$encrypt_key){       
    $encrypt_key =    md5($encrypt_key);
    $ctr=0;       
    $tmp = "";       
    for($i=0;$i<strlen($txt);$i++)       
    {           
        if ($ctr==strlen($encrypt_key))
        $ctr=0;           
        $tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);
        $ctr++;       
    }       
    return $tmp;   
}    
function encrypt($txt,$key)   {
    $encrypt_key = md5(mt_rand(0,100));
    $ctr=0;       
    $tmp = "";      
     for ($i=0;$i<strlen($txt);$i++)       
     {
        if ($ctr==strlen($encrypt_key))
            $ctr=0;           
        $tmp.=substr($encrypt_key,$ctr,1) . (substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1));
        $ctr++;       
     }       
     return keyED($tmp,$key);
} 
    
function decrypt($txt,$key){       
    $txt = keyED($txt,$key);       
    $tmp = "";       
    for($i=0;$i<strlen($txt);$i++)       
    {           
        $md5 = substr($txt,$i,1);
        $i++;           
        $tmp.= (substr($txt,$i,1) ^ $md5);       
    }       
    return $tmp;
}
function encrypt_url($url,$key){
    return rawurlencode(base64_encode(encrypt($url,$key)));
}
function decrypt_url($url,$key){
    return decrypt(base64_decode(rawurldecode($url)),$key);
}

 
$key_url_md_5 = 'vps5u.com'; //可以更换为其它的加密标记
 
//---------------以上为加密函数-结束(复制过去就行了)-----------------

使用方法:

// 加密url,url每次加密生成的字符串都是不同的
$url = 'http://www.vps5u.com/';  //这个是要加密的url
$enc_url = encrypt_url($url,$key_url_md_5); //调用加密方法

// 解密url
$enc_url = 'WzIBIlEnDi1TaQZ%2BAS4HcQN2DCwAeAAnAHlcKQk3ACVbdFdjUD1XaQYp'; //这个是url加密后的字符串
$url = decrypt_url($enc_url,$key_url_md_5); //调用解密方法

这个php url加密解密程序,对于含有中文的url也是同样适用的。