PDA

View Full Version : سوال: مشکل در ساخت فرم لاگین



rezarko
پنج شنبه 24 اسفند 1391, 20:59 عصر
سلام. من واسه ساخت فرم لاگین یه Table تو DB ساختم که یوزرنیم و پسورد کاربران رو ذخیره میکنه. ولی اینجوری به راحتی هرکس میتونه بره و یوزرنیم و پسورد هارو نگاه کنه و تغییر بده. به نظر شما واسه امنیتش چیکار کنم؟
با تشکر

esafb52
پنج شنبه 24 اسفند 1391, 21:44 عصر
با سلام
دوست عزیز میتونی از الگوریتم های رمز نگاری و هش میتونی استفاده کنی تا اگر کسی به دیتابیست هم دسترسی داشت نتونه پسورد رو بدونه یه نمونه کد هم برات تقدیم میکنم از بچه های همین سایته

public string EncryptString(string text)
{
return Encrypt.getMd5Hash(text);
}

public bool DecryptString(string text, string hash)
{
if (Encrypt.verifyMd5Hash(text, hash))
return true;
else
return false;
}

public string DecryptText(string text, string hash)
{
if (Encrypt.verifyMd5Hash(text, hash))
return text;
else
return "خطا";
}
}

class Encrypt
{
public static string getMd5Hash(string input)
{

MD5 md5Hasher = MD5.Create();


byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(in put));

StringBuilder sBuilder = new StringBuilder();

for (int i = 0; i < data.Length; i++)
{
sBuilder.Append(data[i].ToString("x1"));
}

return sBuilder.ToString();
}


public static bool verifyMd5Hash(string input, string hash)
{

string hashOfInput = getMd5Hash(input);


StringComparer comparer = StringComparer.OrdinalIgnoreCase;

if (0 == comparer.Compare(hashOfInput, hash))
{
return true;
}
else
{
return false;
}
}

rezarko
پنج شنبه 24 اسفند 1391, 22:06 عصر
ممنون. میشه یه توضیح در مورد این کد بدید؟

esafb52
پنج شنبه 24 اسفند 1391, 22:12 عصر
به این لینک برو
http://barnamenevis.org/showthread.php?388046-%D9%86%D8%AD%D9%88%D9%87-%D9%85%D9%82%D8%A7%DB%8C%D8%B3%D9%87-%DB%8C%DA%A9-%D8%B1%D8%B4%D8%AA%D9%87-%D9%87%D8%B4-%D8%B4%D8%AF%D9%87-%D8%A8%D8%A7-%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D8%AA%D9%85-md5%D9%88-%D9%85%D9%82%D8%A7%DB%8C%D8%B3%D9%87-%D8%B5%D8%AD%D8%AA-%D8%A2%D9%86