2009-08-04 9 views
4

ASP.NET expose-t-il la fonction sous-jacente qu'il utilise pour générer des ID de session? Je souhaite générer un jeton de session à utiliser dans un service Web, mais il ne sera pas placé dans l'en-tête Set-Cookie. Si ASP.NET a déjà une fonction que je peux utiliser pour générer un identifiant de session, cela m'évitera d'avoir à lancer le mien.Fonction ASP.NET utilise pour générer l'ID de session?

Répondre

5

Reflector est votre ami:

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); 
} 
+0

C'était comme si j'allais rouler tout seul ... réconfortant de savoir que je n'étais pas loin. – DSO

1

Ne pouvez-vous pas faire System.Guid.NewGuid().ToString()?

+0

Si je comprends bien, GUIDs sont bons pour l'unicité, mais ils sont mauvais comme un gage de sécurité, car ils ne sont pas assez aléatoires pour éviter devinant. – DSO

+1

J'aimerais voir quelqu'un deviner un guid !! –