js加密PHP解密

使用场景:在搜索-或者浏览器传值的时候,很多时候会遇到很多特殊字符,get的时候很多时候要丢失,那么在传值到浏览器时候,js加密,到后端php再解密,中途就不会丢失!

尝试用过crypto-js,但是这种加密会带上/+等特殊符号,浏览器一样会屏蔽!

//js字符加密
function forJs(s){
    var es = [],c='',ec='';
    s = s.split('');//10.19补 忘记ie不能下标访问字符串
    for(var i=0,length=s.length;i<length;i++){
        c = s[i];
        ec = encodeURIComponent(c);
        if(ec==c){
            ec = c.charCodeAt().toString(16);
            ec = ('00' + ec).slice(-2);
        }
        es.push(ec);
    }
    return es.join('').replace(/%/g,'').toUpperCase();
}
// php解密函数
public function forPhp($s){
    $a = str_split($s,2);
    $s = '%' . implode('%',$a);
    return urldecode($s);
}

猜你喜欢

转载自blog.csdn.net/munchmills/article/details/131671501