首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP URL 安全 Base64 編碼解碼:RFC 4648 標準實作

     編輯:PHP 綜合知識

標準 Base64 在 URL 中的問題

  • + 被解析為空格
  • / 為路徑分隔符
  • = 為參數分隔符

RFC 4648 §5 URL-safe 字元表

替換規則:+ → -、/ → _、移除填充 =

編碼函數

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

解碼函數

function urlsafe_b64decode(string $string): string {
    $data = str_replace(['-', '_'], ['+', '/'], $string);
    // 補回填充
    $mod4 = strlen($data) % 4;
    if ($mod4) {
        $data .= substr('====', $mod4);
    }
    return base64_decode($data);
}

驗證測試

$original = '測試字串+含特殊/字元=';
$encoded = urlsafe_b64encode($original);
$decoded = urlsafe_b64decode($encoded);

var_dump($original === $decoded); // bool(true)
echo "URL 安全: $encoded\n";      // 無 + / = 字元

應用場景

  • JWT Token 傳遞
  • API 參數加密
  • 單次驗證連結 (Email 驗證、重設密碼)
  • 前後端分離狀態傳遞
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved