我需要更改用户的电子邮件地址以使其无法传递(永远不是真实地址(,但是它需要可逆,以便原始地址可见或至少可检索(无需将其存储在其他地方(。
例如,john@example.com -> NONAME_john@exampleNOTHING.com
可能会起作用,因为它可以改回来。 但是,问题是我无法知道上述生成的地址不是真实的电子邮件地址。也许有一个真正的地址叫做 NONAME_john@exampleNOTHING.com。
要求是地址需要有效(包括"@"和".com"等(,但不会发送。
也许我的要求是矛盾的,因此不可能? 有人知道吗?
你的要求有点矛盾。使地址不可行的唯一方法是使其实际上无效。
请注意,"无效"可能至少意味着三件事;
- 它不会解析为电子邮件地址(例如,将@替换为(a((
- 该域的用户名无效
- 域名无效
关键是,对于 2 和 3,没有简单的方法可以确定是否是这种情况。
您还可以通过应用可逆转换来混淆电子邮件地址,例如 base64 编码它。这属于上述第1类。
例如在 Python 3 中:
In [1]: import base64
In [2]: base64.b64encode('john@example.com'.encode('utf-8'))
Out[2]: b'am9obkBleGFtcGxlLmNvbQ=='
In [3]: base64.b64decode(b'am9obkBleGFtcGxlLmNvbQ==').decode('utf-8')
Out[3]: 'john@example.com'