在asp.net中保护随机数

时间:2010-07-04 03:05:03

标签: asp.net security random

据我所知,Random()初始化为当前时间。如果两个连接在同一秒内命中,我应该得到相同的两个随机数?有可能的大型网站。锁定很糟糕所以我应该如何解决?注意:该号码用于会话ID。

-edit-我被困了很长时间。缩短128位GUID

是错误的

2 个答案:

答案 0 :(得分:4)

请使用Guid.NewGuid(),而不是使用Random()来电中的随机数。重复的可能性非常非常小......

使用GUID作为会话ID是一种常见的解决方案。

答案 1 :(得分:2)

首先,为什么需要创建自己的会话ID?你在使用SessionIDManager吗?我会使用Guid.NewGuid()方法,如示例CreateSessionID中所示 。根据{{​​3}}的文件,“新Guid的价值全部为0或等于任何其他Guid的可能性非常低。”