php的Url 安全的base64编码解码类

复制代码
/**
 * Url安全的Base64编码方法
 * @author JerryLi
 * @version 20231217
 */
final class UrlSafeB64Fun{
    /**
     * 编码
     * @param string $sData 原始字符串
     * @return string
     */
    static public function encode(string $sData): string{
        $aTmp = base64_encode($sData);
        return strtr($aTmp, ['+'=>'-', '/'=>'_', '='=>'']);
    }
    /**
     * 解码
     * @param string $sData 待解吗字符串
     * @return string
     */
    static public function decode(string $sData): string{
        $sTmp = strtr($sData, ['-'=>'+', '_'=>'/']);
        if(strlen($sTmp) % 4!= 0){
            $sTmp.= str_repeat('=', 4 - strlen($sTmp) % 4);
        }
        return base64_decode($sTmp);
    }
}
相关推荐
困死,根本不会4 小时前
Kivy+Buildozer 打包 APK 踩坑:python-for-android 克隆失败
开发语言·php·kivy
wefly20178 小时前
免安装!m3u8live.cn在线 M3U8 播放器,小白也能快速上手
java·开发语言·python·json·php·m3u8·m3u8在线转换
luanma15098010 小时前
Laravel 10.x新特性全解析
php·laravel
Irene199118 小时前
JavaScript脚本加载的两种方式:defer/async 的区别
前端·javascript·php
luanma15098019 小时前
PHP vs C#:30字秒懂两大语言核心差异
android·开发语言·python·php·laravel
fresh hacker19 小时前
【Linux系统】通用的“系统排障”
linux·运维·服务器·网络·php
luanma15098019 小时前
Laravel 8.X重磅特性全解析
前端·javascript·vue.js·php·lua
luanma15098019 小时前
Laravel 9.x重磅升级:十大新特性解析
php·laravel
zhangren0246819 小时前
PHP vs C++:从Web脚本到系统编程的终极对比
开发语言·c++·php
luanma15098020 小时前
Laravel 7.X核心特性深度解析
android·开发语言·php·lua·laravel