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