Gibt ASP.NET die zugrunde liegende Funktion zum Generieren von Sitzungs-IDs frei? Ich möchte ein Sitzungstoken für die Verwendung in einem Webdienst generieren, es wird jedoch nicht in den Set-Cookie-Header eingefügt. Wenn ASP.NET bereits eine Funktion hat, die ich verwenden kann, um eine Sitzungs-ID zu generieren, kann ich mich dadurch nicht selbst rollen.Funktion ASP.NET verwendet, um Session ID zu generieren?
Antwort
Reflector ist dein Freund:
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);
}
Können Sie nicht System.Guid.NewGuid().ToString()
?
Wie ich es verstehe, für Einzigartigkeit GUIDs sind gut, aber sie sind als Sicherheitstoken schlecht, weil sie nicht zufällig genug sind, um zu verhindern, Raten. – DSO
Ich würde gerne jemanden Guid Guid sehen !! –
Ich bin nicht sicher, was ASP.Net unter der Haube verwendet, aber Sie sollten in der Lage sein, System.Guid.NewGuid().ToString() zu verwenden, um mit einem einzigartigen Wert zu kommen.
Das war ähnlich wie ich es alleine rollen würde ... tröstlich zu wissen, dass ich nicht weit weg war. – DSO