PHP生成128位随机持久登录


PHP Generate Random 128-bit for persistent login

我正在使用此设置进行持久登录。

我的理解是,我需要一个额外的表,其中包含用户名和cookie令牌的哈希。然后,您可以为一个用户拥有多个令牌。

我遇到的问题是我需要一个随机令牌。在文章中,他们建议它是128位,所以我猜是16个十六进制值。但这些需要真正的随机性,因为这是非常重要的。为了存储它们,我将bcrypt()它们,这样,如果数据库被破坏,仍然需要"很长时间"才能使用cookie登录到另一个帐户。

TL;DR:需要一个真正的随机128位字符串/数字/。我已经找到了几种方法,但我不知道哪些是真正随机的。

不要重新发明轮子(尤其是使用密码学,99%的时候你会让它变得更糟)
尝试一下类似OpenSSL的实现。