0

我想使用双向算法(意味着我应该加密和解密)。下面是我的

设想:

我有一个应用程序,用户可以通过提供他们的名字、姓氏和电子邮件地址来注册。一旦数据存储在数据库中,一封邮件将发送到注册用户的注册电子邮件地址,内容如下

请点击链接配置您的帐户: http://mysitename.com?somepage.aspx?enc= EmailaddresinencyptedFormat

我正在做的是以加密格式在查询字符串中附加注册用户的注册电子邮件地址。用户将单击以下链接并将被重定向到用户输入他/她的用户名和密码的配置页面。然后查询字符串中的输入数据和加密的电子邮件地址将传递给服务,服务将解密它们并验证电子邮件地址。

必需的:

可以使用什么算法来加密和解密?让我知道这种情况下的最佳算法。请帮帮我

4

1 回答 1

2

不要加密电子邮件地址,而是在数据库中放置一个足够大的 100% 随机值(例如 GUID 或 UUID),并将其与注册人的电子邮件地址的加盐哈希相关联。将 GUID 发送给链接中的用户。然后,当他们完成后,您可以对他们在第二个链接上填写的电子邮件进行加盐哈希处理,并将其与电子邮件地址相匹配。

由于它是随机的,因此不可能猜测随机 url 并偶然发现其他人的注册,并且即使数据库泄漏,也只会暴露经过加盐哈希处理的电子邮件,无法将其解密为电子邮件。

http://www.martinstoeckli.ch/php/php.html#bcrypt是关于散列是什么以及它的用途的一个很好的资源。

于 2013-06-28T06:14:42.217 回答