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);
    }
}
相关推荐
北京中科新远科技1 小时前
高速交换机端口预算怎么做?下行、上联、拆分和冗余计算框架
开发语言·php
其实防守也摸鱼3 小时前
信创安全竞赛知识总结与题库
大数据·网络·人工智能·算法·安全·php
可涵不会debug9 小时前
PHP2Shell 爆发一周后:CVE-2026-109618/109619 自查、修复与防护实录
安全·php·云安全·waf·phpshell
一支蜉蝣9 小时前
Day26 XD安全学习笔记--PHP 应用&模版引用&Smarty渲染&MVC 模型&数据联动&RCE 安全
笔记·网络安全·html·php
vipxieliang10 小时前
PHP 中的设计模式:工厂模式与单例
php
vipxieliang10 小时前
ThinkPHP 8.0 注解路由实战:PHP 8 原生 Attribute 方案
php·thinkphp
evoxwht11 小时前
给 CRMEB v8 商品中台加一个「课程」商品类型
php
evoxwht11 小时前
给 CRMEB V8 给 MCP 服务加一个分销工具
php
IT召唤狮1 天前
开源企业级零信任项目Pangolin,零信任能挡住PHP核弹漏洞吗?
开发语言·开源·php
大鹏说大话1 天前
PHP 大文件上传解决方案:分片上传完整思路
开发语言·php