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);
    }
}
相关推荐
SDWAN_Cheap3 小时前
TCP滑动窗口与拥塞控制是什么?从流量控制到网络稳定性的完整解析
网络·tcp/ip·php
白露与泡影5 小时前
Redis 的“单线程”与“多线程”:一场关于性能与简洁的权衡
数据库·redis·php
CRMEB系统商城6 小时前
前后端技术栈全面换代!CRMEB 多商户(Java)v3.0更新预告
java·开发语言·小程序·php
码云数智-大飞7 小时前
新手写 Python 代码,如何规范命名、减少 Bug
开发语言·python·php
DevUp8 小时前
那些 CMS 的 AI 功能,到底有几个真能用
aigc·php·cms
迪康Defender8 小时前
终端安全实践:浅谈端点安全管理系统内置终端防火墙能力
运维·服务器·网络·经验分享·安全·php·终端安全管理
程序员_小兵9 小时前
PCIe Switch Fabric 技术解析
服务器·c语言·嵌入式硬件·php·fabric
新鲜势力呀9 小时前
PHP 实战:用户登录频繁失败怎么办?从安全防护到登录系统架构优化完整方案
安全·系统架构·php
我们从未走散11 小时前
AI 生图平台如何避免资损:用“扣款与凭据同事务”构建三态账本
开发语言·数据库·php
PHP实战开发录13 小时前
PHP接口大整数为什么变了
开发语言·php