我正在创建一个用户将使用 OpenID 登录的网站。不过,我只会让他们选择 Google、Yahoo 和 AOL。他们将使用他们的 OpenID 提供商的帐户(Google/Yahoo/AOL)登录或注册,在他们被重定向回我的网站后,我会告诉他们“注册成功!”同时,我会将他们的电子邮件 ID 与他们声明的 ID 或 Google 等在 OpenID AX(属性交换)中提供的任何内容存储起来。
现在,由于网站上的一些活动,如评论、查询等,我希望通知用户。为此,我会向他的电子邮件帐户发送邮件,我将从他的 OpenID 注册中获得我的网站。而且我将需要电子邮件 ID 为纯文本(显然),以便向他们发送邮件。但是在数据库中,我想安全地存储电子邮件 ID,足够安全,这样即使有人破解并下载了用户表,他们也无法破译电子邮件 ID。
怎么做?对于 AES 加密等,我需要存储一个密钥。如果后端脚本可以轻松访问将电子邮件 ID 转换为明文的密钥,那么黑客也不能吗?
我只想安全地存储我网站注册用户的电子邮件 ID,并通过电子邮件向他们发送有关通知的信息,但又不会冒着黑客轻松访问他们的电子邮件 ID 的风险。