2009-05-14 17 views

cevap

19

Ne int ne de guid; MSDN help file ...

ASP.NET oturum anahtarıdır 0'dan z ve sayılara bir den küçük karakterden oluşan 24 karakter dizisi olarak kodlanmış rastgele oluşturulmuş numara 5.

+5

... bu 120 bit yapar. – teedyay

+0

Cevap, burada sorulanlarla ilgili değil! Dize uzunluğu ile neyin yaratıldığını belirlemek yerine basit bir boyuta sahip olması gerekiyordu ... Birisinin bilgisini arttırmasına rağmen. –

+0

Bu soruyu gördüğümde, aradığım cevap bu: "Oturum kimlikleri, 20 karakterlik bir dizeyle temsil edilen 120 bit rasgele bir sayıdır" [https://support.microsoft.com/en- bize/kb/899.918] (https://support.microsoft.com/en-us/kb/899918) –

-2

System.Guid Valuetype olarak üretildiğinden, 16 bitlik bir 128 bit tam sayıdır.

+1

Bu yanlış. AFAIK, GUID'ler ASP Klasik'te kullanıldı ancak ASP.Net'te düştü çünkü GUID üretimi çok tahmin edilebilirdi ve bu da bir güvenlik kusuruyla sonuçlandı. – kervin

1

88 baytlık giderim. ASP.NET durum veritabanına bakarsanız, nasıl tanımlanır.

4
dan

Veritabanındaki 8 karakterden daha fazlasının kodda ne aldığının nedeni uygulama kimliğidir. Veritabanında oturum, ASPStateTempApplications tablosundan tempApplicationID ile eklenir. Bu nedenle kodda 24 karakter ve db'de 32 karakter elde edersiniz.