PDA

View Full Version : نحوه ذخیره اطلاعات در view state



mehdi3683
چهارشنبه 19 مرداد 1384, 16:37 عصر
آیا اطلاعات در ViewState ها به صورت encode هستند یا به صورت hash ( اگه hash هستن چه جوری .Net اطلاعات را از حالت hash ‌بازخوانی می کند؟)

Behrouz_Rad
چهارشنبه 19 مرداد 1384, 23:38 عصر
تعریف Encoding: تغییر شکل داده ها از فرمی به فرم دیگر را Encoding یا به رمز درآوری اطلاعات گویند.
تعریف Hash: الگوریتمی است که به منظور به رمز در آوردن اطلاعات مورد استفاده قرار می گیرد.

انواع الگوریتم های Hash شامل: MD5، SHA1، SHA256، SHA384 و SHA512 هستند.
کلاسی که در دات نت به منظور مدیریت View State کنترل ها به کار میره، کلاس StateBag هست.
در هنگام ارسال و دریافت مقادیر از View State، مقادیر به این کلاس ارسال یا از این کلاس دریافت می شوند.
در زمان ذخیره سازی مقداری از یک کنترل در View State، مقدار ابتدا به آرایه تبدیل شده و سپس متد ComputeHash الگوریتم Hash فراخوانی شده و بر مبنای مقدار، عددی را به صورت خودکار تولید و مقدار رمزگذاری شده را بر مبنای این عدد ایجاد می کند.
این عدد تولید شده با استفاده از متد GetHashCode کلاس StateBag قابل بازیابی است.


موفق باشید.

mehdi3683
پنج شنبه 20 مرداد 1384, 00:31 صبح
وقتی از الگوریتم مثلا Md5 استفاده می کنیم اصلا امکان بازگشت مقادیر اولیه نیست

Behrouz_Rad
پنج شنبه 20 مرداد 1384, 07:00 صبح
http://www.barnamenevis.org/forum/showthread.php?t=15710&page=1

mehdi3683
پنج شنبه 20 مرداد 1384, 08:29 صبح
لینک فوق هم دلیلی بر عدم بازیابی مقادیر hash شده است اما شما در پست قبلیت از بازیابی مقادیر hash شده صحبت کردی !

Behrouz_Rad
پنج شنبه 20 مرداد 1384, 09:07 صبح
منظورم بازیابی مقدار Hash شده بود نه مقدار اصلی!

mehdi3683
جمعه 21 مرداد 1384, 00:35 صبح
بازیابی مقدار hash که کمکی به ما نمی کنه

Behrouz_Rad
جمعه 21 مرداد 1384, 06:33 صبح
عزیز جان!
بنده در توضیحاتم اشاره ای به نحوه کدگذاری View State نکردم.
متن View State با کدگذاری 64 بیتی به شکل رمز در میاد.
اما الگوریتم کد گذاری View State، از الگوریتم های Hash جداست.
تنها یک Key منحصر به فرد برای هر View State ایجاد می شود (همان طور که قبلا گفتم) و آن Key یا کلید، یا الگوریتم SHA1 ایجاد میشه.

mehdi3683
جمعه 21 مرداد 1384, 10:44 صبح
ممنون بهروز جان