php 使用base64进行URL字符串编码和解码

V 魔王 管理员 活跃 5月前

470 0

Base64可以将二进制转码成可见字符方便进行http传输,但是base64转码时会生成“+”,“/”,“=”这些被URL进行转码的特殊字符,导致两方面数据不一致。

我们可以在发送前将“+”,“/”,“=”替换成URL不会转码的字符,接收到数据后,再将这些字符替换回去,再进行解码

一、URL安全的字符串编码

function urlsafe_b64encode($string) {
    $data = base64_encode($string);
    $data = str_replace(array('+','/','='),array('-','_',''),$data);
    return $data;
}

 

二、URL安全的字符串解码:

function urlsafe_b64decode($string) {
    $data = str_replace(array('-','_'),array('+','/'),$string);
    $mod4 = strlen($data) % 4;
    if ($mod4) {
        $data .= substr('====', $mod4);
    }
    return base64_decode($data);
}
知天命,懂因果,明是非,擢己身。
最新回复 (0)
    暂无回复,快来抢沙发吧

    暂无回复,快来抢沙发吧

  • 回复不能。