ASP.NET 用于生成会话 ID 的函数?
Posted
技术标签:
【中文标题】ASP.NET 用于生成会话 ID 的函数?【英文标题】:Function ASP.NET uses to generate Session ID? 【发布时间】:2010-11-16 17:14:01 【问题描述】:ASP.NET 是否公开了它用来生成会话 ID 的底层函数?我想生成一个用于 Web 服务的会话令牌,但它不会放在 Set-Cookie 标头中。如果 ASP.NET 已经有一个我可以用来生成会话 ID 的函数,这将使我不必自己动手。
【问题讨论】:
【参考方案1】:Reflector是你的朋友:
SessionIDManager.CreateSessionID()
internal static string Create(ref RandomNumberGenerator randgen)
if (randgen == null)
randgen = new RNGCryptoServiceProvider();
byte[] data = new byte[15];
randgen.GetBytes(data);
return Encode(data);
【讨论】:
这类似于我将自己滚动它的方式......很高兴知道我离我不远了。【参考方案2】:你不能System.Guid.NewGuid().ToString()
吗?
【讨论】:
据我了解,GUID 有利于唯一性,但它们作为安全令牌不好,因为它们的随机性不足以防止猜测。 我想看看有人猜一个向导!!【参考方案3】:我不确定 ASP.Net 在后台使用了什么,但您应该能够使用 System.Guid.NewGuid().ToString() 来得出一个独特的值。
【讨论】:
以上是关于ASP.NET 用于生成会话 ID 的函数?的主要内容,如果未能解决你的问题,请参考以下文章
是否可以将会话 ID 设置为我在 asp.net 中选择的值