会话令牌传输

时间:2014-08-07 09:29:27

标签: session session-state

我的网络应用程序需要有关会话。分数如下: -

  1. 会话ID必须是随机生成的。

  2. 会话ID必须是不可预测的。

  3. 会话ID的大小应该足够大,以确保它不会受到暴力攻击。

  4. 字符集应该很复杂,即使用特殊字符。
  5. 建议长度为50个随机字符。

1 个答案:

答案 0 :(得分:0)

基本上所有这些要点的答案是:使用一个好的随机数生成器。您的系统或平台应该提供某种形式的良好PRNG;在UNIX上/dev/random/dev/urandom,在Windows上它是内置的加密API。您选择的语言可能会提供围绕这些的包装API。只需从该PRNG中抽取一些随机字节。如果它有任何好处,那些字节将是随机的和不可预测的。长度完全取决于您,只需从PRNG读取足够的数据。字符集将非常复杂,因为您将收到原始字节;你实际上必须将它们“愚蠢地”放入ASCII字符集中,例如通过base 64编码它们。