PDA

View Full Version : مبتدی: ساخت لاگین با امکان رمزنگاری کردن پسورد و ذخیره در دیتابیس sql server 2008 r2



h.rezaee
یک شنبه 27 اسفند 1391, 22:20 عصر
سلام. دوستان می خواستم اگه امکانش هست نمونه کد یا راهنمایی انجام بدین تا بتونم یه لاگین با امکان رمز نگاری کردن یا هش کردن پسورد و ذخیره آن در دیتابیس رو برای برنامه تحت ویندوز طراحی کنم.
ممنون:لبخند:
ایده ای که در نظر دارم یه صفحه باشه که اسم ، فامیل و یوزرنیم و پسورد رو بگیره و در دیتابیس ذخیره کنه و اون رو به عنوان یک کاربر ثبتش کنه.
البته ثبت کاربر جدید فقط توسط ادمین انجام بشه.
بعد کاربر با وارد کردن این یوزر و پسورد بتونه فرمی رو که به طور عادی قابل نمایش نیست رو ببینه؟؟؟؟؟؟؟؟؟؟؟؟؟؟

ارمین نصیری
یک شنبه 27 اسفند 1391, 23:11 عصر
خوب دوست عزیز باید تیبل رو برای کاربری تعیریف کنی بعد برنامه رو به این تیبل وصل کنی برای راهنمای بیشتر به صفحه (http://barnamenevis.org/archive/index.php/t-335467.html) مراجعه کنید

h.rezaee
یک شنبه 27 اسفند 1391, 23:38 عصر
خوب دوست عزیز باید تیبل رو برای کاربری تعیریف کنی بعد برنامه رو به این تیبل وصل کنی برای راهنمای بیشتر به صفحه (http://barnamenevis.org/archive/index.php/t-335467.html) مراجعه کنید
دوست عزیز. مشکل من هش کردن password و ذخیره و بازیابی اون از دیتابیس هستش؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

j_naroogha@yahoo.com
یک شنبه 27 اسفند 1391, 23:49 عصر
using System.Security.Cryptography;
using System.Configuration;
public static string Encrypt(string toEncrypt, bool useHashing)
{
byte[] keyArray;
byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt);

System.Configuration.AppSettingsReader settingsReader = new AppSettingsReader();
// Get the key from config file
string key = (string)settingsReader.GetValue("SecurityKey", typeof(String));
//System.Windows.Forms.MessageBox.Show(key);
if (useHashing)
{
MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key ));
hashmd5.Clear();
}
else
keyArray = UTF8Encoding.UTF8.GetBytes(key);

TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
tdes.Key = keyArray;
tdes.Mode = CipherMode.ECB;
tdes.Padding = PaddingMode.PKCS7;

ICryptoTransform cTransform = tdes.CreateEncryptor();
byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
tdes.Clear();
return Convert.ToBase64String(resultArray, 0, resultArray.Length);
}
/// <summary>
/// DeCrypt a string using dual encryption method. Return a DeCrypted clear string
/// </summary>
/// <param name="cipherString">encrypted string</param>
/// <param name="useHashing">Did you use hashing to encrypt this data? pass true is yes</param>
/// <returns></returns>
public static string Decrypt(string cipherString, bool useHashing)
{
byte[] keyArray;
byte[] toEncryptArray = Convert.FromBase64String(cipherString);

System.Configuration.AppSettingsReader settingsReader = new AppSettingsReader();
//Get your key from config file to open the lock!
string key = (string)settingsReader.GetValue("SecurityKey", typeof(String));

if (useHashing)
{
MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key ));
hashmd5.Clear();
}
else
keyArray = UTF8Encoding.UTF8.GetBytes(key);

TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
tdes.Key = keyArray;
tdes.Mode = CipherMode.ECB;
tdes.Padding = PaddingMode.PKCS7;

ICryptoTransform cTransform = tdes.CreateDecryptor();
byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

tdes.Clear();
return UTF8Encoding.UTF8.GetString(resultArray);
}

h.rezaee
دوشنبه 28 اسفند 1391, 01:58 صبح
using System.Security.Cryptography;
using System.Configuration;
public static string Encrypt(string toEncrypt, bool useHashing)
{
byte[] keyArray;
byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt);

System.Configuration.AppSettingsReader settingsReader = new AppSettingsReader();
// Get the key from config file
string key = (string)settingsReader.GetValue("SecurityKey", typeof(String));
//System.Windows.Forms.MessageBox.Show(key);
if (useHashing)
{
MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key ));
hashmd5.Clear();
}
else
keyArray = UTF8Encoding.UTF8.GetBytes(key);

TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
tdes.Key = keyArray;
tdes.Mode = CipherMode.ECB;
tdes.Padding = PaddingMode.PKCS7;

ICryptoTransform cTransform = tdes.CreateEncryptor();
byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
tdes.Clear();
return Convert.ToBase64String(resultArray, 0, resultArray.Length);
}
/// <summary>
/// DeCrypt a string using dual encryption method. Return a DeCrypted clear string
/// </summary>
/// <param name="cipherString">encrypted string</param>
/// <param name="useHashing">Did you use hashing to encrypt this data? pass true is yes</param>
/// <returns></returns>
public static string Decrypt(string cipherString, bool useHashing)
{
byte[] keyArray;
byte[] toEncryptArray = Convert.FromBase64String(cipherString);

System.Configuration.AppSettingsReader settingsReader = new AppSettingsReader();
//Get your key from config file to open the lock!
string key = (string)settingsReader.GetValue("SecurityKey", typeof(String));

if (useHashing)
{
MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key ));
hashmd5.Clear();
}
else
keyArray = UTF8Encoding.UTF8.GetBytes(key);

TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
tdes.Key = keyArray;
tdes.Mode = CipherMode.ECB;
tdes.Padding = PaddingMode.PKCS7;

ICryptoTransform cTransform = tdes.CreateDecryptor();
byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

tdes.Clear();
return UTF8Encoding.UTF8.GetString(resultArray);
}
دوست عزیز ممنون. ولی ای کاش این رو در قالب یه پروژه قرار میدادی تا متوجه شیم چی به چی شده؟؟؟؟؟؟؟؟؟

h.rezaee
دوشنبه 28 اسفند 1391, 11:42 صبح
واقعا کسی نیست به داد ما برسه!!!!!!!!!!:گریه:
این شب عیدی ثواب داره والله:لبخند:

h.rezaee
دوشنبه 28 اسفند 1391, 12:27 عصر
واقعا کسی نیست به داد ما برسه!!!!!!!!!!:گریه:
این شب عیدی ثواب داره والله:لبخند:

h.rezaee
دوشنبه 28 اسفند 1391, 22:15 عصر
واقعا کسی نیست؟؟؟؟؟؟؟؟؟؟؟؟

j_naroogha@yahoo.com
دوشنبه 28 اسفند 1391, 22:48 عصر
سلام
اینم از نمونه برنامه اش

h.rezaee
دوشنبه 28 اسفند 1391, 23:30 عصر
سلام
اینم از نمونه برنامه اش
ممنون. چه جوری تو دیتابیس ذخیره کنیم و بعد بازگزدانی کنیم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟

h.rezaee
چهارشنبه 30 اسفند 1391, 22:18 عصر
دوستان عیدتون مبارک،ممنون میشم اگه جواب سوالم رو بدین