2009-05-14 7 views

Antwort

19

Es ist weder int noch guid; vom MSDN help file ...

ASP.NET Die Sitzungskennung ist eine zufällig generierte Zahl in einen String 24-Zeichen codiert, bestehend aus Kleinbuchstaben von a bis z und Zahlen von 0 bis 5.

+5

... was es 120 Bits macht. – teedyay

+0

Antwort ist nicht relevant für das, was hier gefragt wird! Es sollte einfach Größe statt angeben, was mit String-Länge generiert wird ... Obwohl es jemandes Wissen erhöht. –

+0

Als ich diese Frage sah, war dies die Antwort, die ich suchte: "Sitzungs-IDs sind eine 120-Bit-Zufallszahl, die durch eine 20-stellige Zeichenfolge dargestellt wird" von [https://support.microsoft.com/en- us/kb/899918] (https://support.microsoft.com/en-us/kb/899918) –

-2

Da es als System.Guid Valuetype generiert wird, ist es eine 128-Bit-Ganzzahl, die 16 Byte ist.

+1

Das ist falsch. AFAIK, GUIDs wurden in ASP Classic verwendet, aber in ASP.Net gelöscht, da die GUID-Generierung zu vorhersehbar war und zu einem Sicherheitsfehler führte. – kervin

1

Ich würde mit 88 Bytes gehen. Wenn Sie sich die ASP.NET-Statusdatenbank ansehen, ist sie so definiert.

4

Der Grund für die zusätzlichen 8 Zeichen in der Datenbank gegenüber dem, was Sie in Code erhalten, ist die Anwendungs-ID. In der Datenbank wird die Sitzung mit der tempApplicationID aus der ASPStateTempApplications-Tabelle angehängt. Aus diesem Grund erhalten Sie 24 Zeichen im Code und 32 in der Datenbank.