Base64编码后会生成+,/,=这些特殊符号进行URL传输时+/会转义,导致数据不一致无法解码。
一、URL安全的字符串编码
function base64_safeurl_encode($string) {
return str_replace(array('+','/','='),array('-','_',''),base64_encode($string));
}
二、URL安全的字符串解码
function base64_safeurl_decode($string) {
$data = str_replace(array('-','_'),array('+','/'),$string);
$mod4 = strlen($data) % 4;
if ($mod4) {
$data .= substr('====', $mod4);
}
return base64_decode($data);
}
目前有 0 条评论