2014-09-24 55 views
0

我正在通过取消订阅链接为Web应用程序开发取消订阅电子邮件服务。一键通过java点击订阅电子邮件服务

具有取消订阅链接的电子邮件将使用MD5算法从java类生成。目前,我追加电子邮件ID的与链接的加密散列的形式,

<a href="http://server name/mailid=3f37c9628c8953d3fdfb0f8" > 

'3f37c9628c8953d3fdfb0f8字符串中包含用户的email'id。我在验证之后更新服务订阅。

这个过程是否安全?或者我应该去其他任何算法,以使其更安全?

在此先感谢

+0

如果您想使其安全,请使用哈希值。但是,严肃地说,你认为有人会努力伪造退订吗? – keshlam 2014-09-24 12:42:58

+0

@keshlam这取决于上下文。 – Thihara 2014-09-24 12:44:03

+0

@keshlam我可以,但为了满足我的经理需要让它更安全。 'salt hash'是什么意思? – 2014-09-24 12:45:03

回答

1

您可以退订链接含有被映射到用户ID内部数据存储中的一个随机生成的哈希值。

您也可以在指定的时间后使哈希无效。

但keshlam有一个点。在你遇到所有麻烦之前,确保它在你的背景下是值得的。

+0

您是否希望我生成随机哈希'用户标识'。我已经做了同样的事情。 – 2014-09-24 12:54:41

+0

不要不要散列用户标识。散列一些随机生成的值,并将它们映射到应用程序端(在DB等中)。 – Thihara 2014-09-24 12:58:12

+0

你对使用'HMAC'有什么看法?与此相比,这听起来更好吗? – 2014-09-24 12:59:34