2009-05-14 10 views

答えて

19

intでもGUIDでもない。 MSDN help file ...

ASP.NETセッション識別子は0からZおよび数字から小文字からなる24文字の文字列にエンコードされ、ランダムに生成された番号5に

+5

... 120ビットにします。 – teedyay

+0

答えはここに尋ねられるものとは関係ありません!文字列長で生成されたものを指定するのではなく、単純にサイズを変更することになっていました。 –

+0

この質問を見たとき、これは私が探していた答えです。「セッションIDは、20文字の文字列で表される120ビットの乱数です」[https://support.microsoft.com/en- us/kb/899918](https://support.microsoft.com/en-us/kb/899918) –

-2

これはSystem.Guid Valuetypeとして生成されているため、128ビットの整数です(16バイト)。

+1

これは間違っています。 AFAIK、GUIDはASPクラシックで使用されましたが、GUIDの生成が予測できず、セキュリティ上の欠陥が発生したため、ASP.Netにドロップされました。 – kervin

1

私は88バイトで行きます。 ASP.NET状態データベースを見ると、その状態が定義されています。

4
から

データベースで余分な8文字が使用された理由と、コードで取得されたものがアプリケーションIDです。データベースには、ASPStateTempApplicationsテーブルのtempApplicationIDがセッションに追加されます。このため、コードでは24文字、データベースでは32文字が得られます。

関連する問題