H5W3
当前位置:H5W3 > 其他技术问题 > 正文

使用redis存储登录的用户,token怎么生成有简单有不可破解

想法是:前端的token就是后端redis的key,redis的value就是基本用户信息。只要查询到了就代表用户已经登录,这个key怎么设计比较好?

  1. 不能直接用用户的id,因为这样可以轻松伪造登录
  2. 起始这个key只要能够保证唯一性就可以,因为他本身不保存信息

我想的最简单的方法:用户id+几个随机数,这样能够保证安全性吗?

回答

最好是无规律的。

你说的 用户ID + 几个随机数 确实可以,但还不保险,最好再哈希一次。

比如再做一次 HMAC-SHA256 哈希,密钥对前端不可见。

P.S. SHA256 的理论哈希冲突性已经很低了,绝大部分场景下完全可以满足唯一性的需求,你也没那么大用户量不是?还嫌不够可以 SHA384、SHA512、甚至 RSA 这种非对称的。

未经允许不得转载:H5W3 » 使用redis存储登录的用户,token怎么生成有简单有不可破解

赞 (0)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址