我需要一种方法PHP
来对电子邮件地址进行编码,仅使用a-zA-Z0-9
基本上没有任何特殊字符的编码,但随后能够将其解码回原始地址。
例子:
john+doe@mydomain.com => ENCODE => n6bvJjdh7w6QbdVB373483ydbKus7Qx
n6bvJjdh7w6QbdVB373483ydbKus7Qx => DECODE => john+doe@mydomain.com
这甚至可能吗?
您可以进行网络安全 base64 编码:
// encode
$email_encoded = rtrim(strtr(base64_encode($email), '+/', '-_'), '=');
// decode
$email_decoded = base64_decode(strtr($email_encoded, '-_', '+/'));
它将base64 字母表中的+
and转换为更无害的and 。编码步骤还会在需要时删除尾随字符。/
-
_
=
如果允许等号,则可以使用base64_encode()
andbase64_decode()