[英]PHP base64 encoding custom alphabet
我尝试使用base64_encode()和base64_decode(),但使用自定义字母表。 默认字母表是:
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
说我想用:
"ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba9876543210+/"
在互联网上找到了一个班级,但没有按预期工作。 关于如何尽可能简单地实现这一点的任何想法?
超级简单, strtr
可以开箱即用:
$default = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
$custom = "ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba9876543210+/";
$encoded = strtr(base64_encode($input), $default, $custom);
除了上面定义的自定义编码,要使用自定义字母解码,您还可以执行以下操作:
$custom = 'ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba9876543210+/';
$default = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
$decoded = base64_decode(strtr($input, $custom, $default));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.