我在Linux上使用Python 2.5,在多个并行的FCGI进程中使用。
chars = string.ascii_letters + string.digits
cookie = ''.join([random.choice(chars) for x in range(32)])
生成独特的Cookie。假设随机数生成器是从/dev/urandom中获取的种子,并且随机数序列来自Mersenne扭曲器,我认为碰撞的几率几乎为零。
然而,我发现经常会出现碰撞,即使只有很少的(<100)用户同时登录。
为什么这些随机数不够随机?