PHP编码电子邮件地址


PHP encode e-mail address

我需要一种在PHP中只使用a-zA-Z0-9编码电子邮件地址的方法,因此基本上没有任何特殊字符编码,但随后能够将其解码回原始。

的例子:

 john+doe@mydomain.com => ENCODE => n6bvJjdh7w6QbdVB373483ydbKus7Qx
 n6bvJjdh7w6QbdVB373483ydbKus7Qx => DECODE => john+doe@mydomain.com

这可能吗?

你可以做一个web安全的base64编码:

// encode
$email_encoded = rtrim(strtr(base64_encode($email), '+/', '-_'), '=');
// decode
$email_decoded = base64_decode(strtr($email_encoded, '-_', '+/'));

它将+/从base64字母表转换为更无害的-_。编码步骤还在需要时删除尾随的=字符。

如果允许使用等号,可以使用base64_encode()base64_decode()

另一个选项是bin2hex()hex2bin()

相关文章: