🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
   /\*\*      \* URL base64解码      \* '-' -> '+'      \* '\_' -> '/'      \* 字符串长度%4的余数,补'='      \* @param unknown $string      \*/   function urlsafe\_b64decode($string) {         $data = str\_replace(array('-','\_'),array('+','/'),$string);         $mod4 = strlen($data) % 4;         if ($mod4) {             $data .= substr('====', $mod4);         }         return base64\_decode($data);     }     /\*\*      \* URL base64编码      \* '+' -> '-'      \* '/' -> '\_'      \* '=' -> ''      \* @param unknown $string      \*/     function urlsafe\_b64encode($string) {         $data = base64\_encode($string);         $data = str\_replace(array('+','/','='),array('-','\_',''),$data);         return $data;     } 1. `1、将传递参数构造为json串,如` 2. `{"gid":"1191", "hello":"中文"}` 4. `2、对json字符串进行base64 safe url编码,得到base64String` 5. `即进行base64后,将+替换为-,/替换为_,去除=` 7. `3、将约定密钥附加到base64String后,对整个串进行MD5,并取中间16位作为sign签名码` 9. `4、将sign签名码附加到base64String后返回得到` 10. `eyJnaWQiOiIxMTkxIiwgImhlbGxvIjoi5Lit5paHIn0f47b043ae3105a3e JS反向解密 ` var url\_str = '生成的code替换在这里'; var x = url\_str.substring(0,url\_str.length-16); x = x.replace(/-/g,"+").replace(/\_/g,"/"); var mod4 = x.length%4; if(mod4 > 0){ x += "====".substring(mod4); } var plain\_txt = window.atob(x); console.log(plain\_txt);