PDA

View Full Version : سوال: ذخیره رمز عبور در دیتابیس به صورت کد شده



morteza271
دوشنبه 29 آذر 1389, 13:21 عصر
سلام دوستان...

چجوری میشه رمز عبور رو در جدول دیتابیس SQL به صورت کد شده ذخیره کرد؟
اگه یه نمونه کد بذارین ممنون میشم...
با تشکر از تمامی دوستان و مهندسان ایران زمین:قلب:

devhandler
دوشنبه 29 آذر 1389, 13:38 عصر
شما باید کلمه عبور رو Hash کرده و سپس ذخیره کنید:


public string GetHashedPassword(string password)
{
var hasher = System.Security.Cryptography.SHA1.Create();
var bytes = System.Text.Encoding.UTF8.GetBytes(password);
return Convert.ToBase64String(hasher.Compute(bytes));
}

رشته گرفته شده از تابع بالا، رمز شده کلمه عبور هست، کافیه هر سری کلمه عبور وارده شده رو Hash کنی و با مقدار داخل دیتابیس مقایسه کنی، برای امنیت بیشتر میتونی از PasswordSalt هم استفاده کنی کنار Password.

Rejnev
دوشنبه 29 آذر 1389, 13:44 عصر
و یا داخل خود اس کیو ال از تابع Hashbytes (http://msdn.microsoft.com/en-us/library/ms174415.aspx)استفاده کنی

insert into table1(pass)values(hashbytes('MD5','123IsMyPass'))

m * h * d
دوشنبه 29 آذر 1389, 13:59 عصر
دوست عزیز از این روش هم می تونی استفاده کنی

strint Encode= textbox1.text.hashcode();

hossin.esm
دوشنبه 29 آذر 1389, 14:17 عصر
حتما ببین
http://www.p2p.dotnetsource.com/Default.aspx?g=posts&t=379

morteza271
سه شنبه 30 آذر 1389, 09:26 صبح
شما باید کلمه عبور رو Hash کرده و سپس ذخیره کنید:


public string GetHashedPassword(string password)
{
var hasher = System.Security.Cryptography.SHA1.Create();
var bytes = System.Text.Encoding.UTF8.GetBytes(password);
return Convert.ToBase64String(hasher.Compute(bytes));
}

رشته گرفته شده از تابع بالا، رمز شده کلمه عبور هست، کافیه هر سری کلمه عبور وارده شده رو Hash کنی و با مقدار داخل دیتابیس مقایسه کنی، برای امنیت بیشتر میتونی از PasswordSalt هم استفاده کنی کنار Password.

ممنونم دوست عزیز...
میشه بگید PasswordSalt چیه و چجوری باید ازش استفاده کنم؟
با تشکر از تمامی دوستان که نظر خودشون رو گفتن...