【问题标题】:Authenticating user using persistent cookie. Hash & salt necessary?使用持久 cookie 对用户进行身份验证。需要哈希和盐吗?
【发布时间】:2013-03-20 09:19:31
【问题描述】:

我正在构建一个登录脚本,我希望用户能够勾选“记住我”按钮。 我已经阅读了有关此事的页面:http://blog.themeforest.net/tutorials/working-with-sessions-and-cookies-in-php-and-mysql/

他们建议通过将随机字符串与用户名连接起来,然后用盐对其进行散列来创建一个 auth_key。

$cookie_auth= rand_string(10) . $username;
$auth_key = md5($salt . $cookie_auth);
$auth_query = mysql_query("UPDATE users SET auth_key = '" . $auth_key . "' WHERE username = '" . $username . "'");

我只是想知道,执行第 1 行和第 2 行的实际意义是什么?你能不能跳过盐和散列,直接创建 $auth_key 作为一个长的伪随机字符串?

【问题讨论】:

    标签: authentication cookies hash


    【解决方案1】:

    一开始并不明显,但如果它纯粹是某种随机字符串,并且在 MD5 散列之前没有与之关联的身份 - 那么您可能会遇到两个用户最终使用相同身份验证密钥的问题。也就是说,MD5 可能对您有用,但从技术上讲应该逐步淘汰(已发现许多冲突使其不再可行) - 尝试寻找更新的单向哈希,例如 SHA-2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-05
      • 2020-07-06
      • 1970-01-01
      • 2012-05-03
      • 2020-08-17
      • 2019-06-01
      • 2011-06-11
      • 2012-10-23
      相关资源
      最近更新 更多