我需要加密安全的随机数吗?

时间:2013-11-05 14:32:33

标签: cryptography go

我正在Go中写一个网络服务。

登录后,将向用户返回一个令牌,其行为大致类似于cookie,因为用户必须在每个后续请求中传递它才能被识别。

  1. 我的令牌生成器是否必须“加密安全”,即。用高熵产生?

  2. 我怎样才能在Go中实现这一目标,最好是使用与我不同的加密人员编写的标准库或库?

2 个答案:

答案 0 :(得分:5)

令牌生成器具有加密安全性,以降低攻击者猜测新会话令牌并获取特权的能力,这将是有益的。 crypto/rand实现了这样一个随机数生成器,包括允许你生成随机整数,素数和适合于此的字节的函数。

答案 1 :(得分:1)

是的,使用加密哈希。您可以使用gorilla / securecookie之类的东西来生成密钥并提供cookie存储:http://www.gorillatoolkit.org/pkg/securecookie

请注意,如果您仅依靠Cookie进行验证,那么您可以自行重播攻击。如果ID不存在,使用cookie触发服务器端检查(用户ID ==活动/有效)或退回然后退出。