可能是一个愚蠢的问题,但无论如何我还是要问。 我正在进行一项研究,其中包括向参与者发送虚假网络钓鱼电子邮件。 一开始,我会有一个电子邮件地址数据库。 出于道德考虑,我想以某种方式以某种方式对电子邮件地址进行哈希处理,以后即使我愿意也不会恢复它们。 例如: 我想发一封电子邮件给 john.doe@mail.com 电子邮件将导致一个页面,我将收集一些数据(访问时间,他在页面上做了什么),所以基本上我会将电子邮件地址及其操作存储在数据库中。
我可以在这个数据库中存储电子邮件地址的哈希值,所以最后我不会有他的地址,但问题是在稍后阶段我需要再次给他发电子邮件,并记录下来这些行动也是......
现在的问题是:
答案 0 :(得分:4)
不,您无法保持电子邮件地址的可用性,也无法恢复该电子邮件地址。如果您需要能够解码/恢复电子邮件地址以便以后发送电子邮件,那么就无法使其无法恢复。这是一个矛盾。您需要执行诸如使用第三方创建每用户令牌之类的操作,但第三方需要存储令牌和电子邮件。没有避免它:有人必须存储电子邮件。
最佳解决方案是加密任何敏感数据,包括个人身份信息(PII)。如果你想对它过分偏执,你可以在项目结束时扔掉钥匙。但是,如果您确实需要能够使用加密信息(如电子邮件地址),则必须保持此状态。
另外,请注意您所做的事情可能会产生法律影响(包括发送虚假网络钓鱼电子邮件和存储PII)。您应该与任何司法管辖区的律师交谈。