【问题标题】:Which is the most secure method of creating a cryptographically unique token in PHP [closed]这是在 PHP 中创建加密唯一令牌的最安全方法 [关闭]
【发布时间】:2014-08-18 12:08:59
【问题描述】:

我有这个工作我想要一些关于创建令牌(用于 API)的最安全选项的建议,他们中的任何一个在未来都会有任何问题吗?

选项 A:

$token = bin2hex(openssl_random_pseudo_bytes(16));

或选项 B:

// $username - unique username for this user
$token = hash('sha512', sha1($username.time().rand(1000, 9999)));

【问题讨论】:

  • 这个问题似乎是题外话,因为它是关于不同加密方法的相对优势。这里没有编程问题。

标签: php yii cryptography token


【解决方案1】:

这个问题虽然离题,但很有趣。

我的答案:选项 A。

选项 B 至少包含一个可预测的值 $username。 time() 值可能是可预测的,如果种子可以猜到,rand() 是可预测的。

看看这个:https://crackstation.net/hashing-security.htm

编辑添加:当然,如果令牌不必保密,它没有任何区别。您可以只使用用户名。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-26
    • 1970-01-01
    • 2016-08-12
    • 1970-01-01
    • 1970-01-01
    • 2017-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多