首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >验证链接与电子邮件和哈希用户id与盐字符串。安全吗?

问验证链接与电子邮件和哈希用户id与盐字符串。安全吗?
EN

Stack Overflow用户
提问于 2016-10-21 17:37:25
回答 1查看 541关注 0票数 0

您认为如何创建一个由email和hash等参数组成的查询字符串的验证链接?

  • 电子邮件是注册用户的html编码普通字符串电子邮件,
  • 散列是PHP函数password_hash的结果值,其中第一个参数的字符串是从带有固定盐字符串的数据库中选择的唯一id用户号。

我也在考虑切换salt,但人们可以猜测给定电子邮件的id用户名,将其传递给password_hash,并为查询字符串获得一个有效的散列(即使password_hash自己自动添加了一个盐),所以我认为它是不安全的。

我想是这样的:

代码语言:javascript
复制
// the result of SELECT from the database (I use Mysql)
$id    = '5';
// fixed salt string
$salt  = 'xbrENiBq6kb87WrZYhxS';
$email = urlencode($email);
$key   = $id . $salt;
$hash  = urlencode(password_hash($key, PASSWORD_DEFAULT));

// the resulted querystring:
$url = "somesite.com/index.php?email=$email&hash=$hash";

然后我会发送到用户的电子邮件。

拜托,你能告诉我,你觉得呢?非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-21 17:43:53

取决于您的编码,您可以尝试混合各种类型的编码,以达到真正的价值。与数据库进行比较的最后结果必须是一个md5字符串,这样就不会丢失性能。

代码语言:javascript
复制
SELECT md5(your_field) FROM table

很抱歉英语不太好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40182472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档