本文重点解决ThikPHP中使用base64_ecode编码后带左斜杠”/“的问题,希望能够帮助到你
最近公司需要用 PHP 写一个管理系统,框架用的是 ThinkPHP
然后做到一个模块的时候老夫提议采用 RSA 加密
但是大家都知道,RSA 加密后的结果是乱码,所以需要 base64_encode 一下
结果大概就是这个样子了
Cg8qnFW9V0KDdZDO9DjlyA47yUUZ5oCcS4epgW0AQc6lagzeHn
BPHmrHhT4cZ0Ar4Kkdzu5V2GaOormIgvS8Sg5eZDVGhz45DckM
Am3qLja5ArCwOAbyKSXUJOb0T21hVHOtSquNB2Zaj05xKmTsym
Yb5GUdT2Fn7H+bO9EfPpk87ArCwYpA4ow+PbrgyLr+Y5X2qVAr
3hMidgq/Xgee0G0WMSW/27ko3iYEcWygIiyN3i2V2ghJcmz47u
K+oLRt4sqlPw1JSxDTpaVpIEunlq5fLtg+3QFBYoHPIKv5UVbZ
lpobkLcLY3qPGN8bx34eiOC/b+9dumHDu0pyiMRXfw==
然后?然后我就纠结了,因为 ThinkPHP 里面对 URL 参数的定义可以这样:
/name/abc 等同于 ?name=abc
而转出来的 base64 是有左斜杠”/“的,尴尬症都犯了……
好了,正文部分,安全的编码和解码方案:
编码部分:
解码部分:
方案摘录自:URL 安全的字符串 base64 编解码
本网刊登的文章均仅代表作者个人观点,并不代表本网立场。文中的论述和观点,敬请读者注意判断。