PDA

View Full Version : هش كردن پسورد سمت كلاينت



Vahid Faraji
دوشنبه 08 شهریور 1389, 19:43 عصر
سلام.
كدي رو بررسي مي كردم كه اومده بود با submit فرم اين كار رو انجام مي داد:


document.getElementById('txtPass').value = Hash(document.getElementById('txtPass').value + document.getElementById('hidKey').value);


Hash يك تابع كه خودش نوشته بود، كاري با اون نداريم.

يعني پسوردو هر بار با مقدار يك ورودي از نوع hidden با runat=server هش مي كرد.


<input id="hidkey" type="hidden" name="Hidden1" runat="server">

به طور مثال وقتي بر روي دكمه ارسال كليك مي كرديم، اين اتفاق مي افتاد:


protected void Page_Load(object sender, System.EventArgs e)
{
script = "";
if(!IsPostBack)
hidkey.Value = createRandom(); //createRandom: for random value()
}


protected void cmdLogin_Click(object sender, System.EventArgs e)
{
//login code
UserSystem busUser = new UserSystem();

if ( busUser.Authenticate(txtUserName.Text,txtPass.Text ,hidkey.Value) )
{
//...
}
else
{
//...
}

}



سوال من اينجاست، نقش hidkey در هش كردن سمت كلاينت چيست، مگه مقدارش خالي نيست، درسته تو Page_Load مقدار مي گيره، ولي اون جا كه سمت كلاينت هش انجام مي شه، مقداري نداره كه، از دوستان خواهش مي كنم توضيح بدن.

Hell Lord
دوشنبه 08 شهریور 1389, 23:33 عصر
فکر کنم برای این باشد که هنگام ارسال پسورد توسط هدر های http، پسورد به راحتی قابل روئت و خوانده شدن نباشد :متفکر:
اون مقدار hidden را هم از سرور میگیرد و با مقدار پسورد جمع میکند و هش....!؟؟:گیج: