PHP编码电子邮件地址

时间:2012-12-29 23:45:20

标签: php hash encode

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

示例:

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

这甚至可能吗?

2 个答案:

答案 0 :(得分:7)

您可以进行网络安全base64编码:

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

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

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

答案 1 :(得分:1)

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

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