View Full Version : سوال: hash کردن رمز عبور
itgirl20
چهارشنبه 19 اسفند 1388, 10:09 صبح
سلام خسته نباشید
من واسه hash کردن پسورد در بانک SQL سوال داشتم که چطور کدش در C# نوشته میشه؟
می تونین کمکم کنید :افسرده:ممنون میشم
mdssoft
چهارشنبه 19 اسفند 1388, 10:48 صبح
اینجا (http://mds-soft.persianblog.ir/post/104/)رو ببین
Vahid_moghaddam
چهارشنبه 19 اسفند 1388, 10:58 صبح
public string GetMD5(string input)
{
string hashed = "";
ASCIIEncoding encode = new ASCIIEncoding();
Encoding encode2 = Encoding.UTF8;
byte[] inputPasswordBytes;
inputPasswordBytes = encode2.GetBytes(input);
byte[] hash;
MD5 md5 = new MD5CryptoServiceProvider();
hash = md5.ComputeHash(inputPasswordBytes);
System.Text.StringBuilder sb = new StringBuilder();
foreach (byte outputbyte in hash)
sb.Append(outputbyte.ToString("x2").ToUpper());
hashed = sb.ToString();
return hashed;
}
برای اطلاعات بیشتر به System.Security.Cryptography مراجعه کنید
در سایت هم خیلی زیاد در این مورد بحث شده.
mehdi.mousavi
چهارشنبه 19 اسفند 1388, 20:45 عصر
سلام.
آقای وحید مقدم، MD5 مدتهاست که منقرض شده و نباید ازش استفاده کرد (براساس SDL). بهتره از SHA1 یا دیگر الگوریتمهای Hashing استفاده کنید.
برای اطلاعات بیشتر به SDL رجوع کنید.
موفق باشید.
Vahid_moghaddam
چهارشنبه 19 اسفند 1388, 22:42 عصر
private static string GetSHA1(string strPlain)
{
UnicodeEncoding UE = new UnicodeEncoding();
byte[] HashValue, MessageBytes = UE.GetBytes(strPlain);
SHA1Managed SHhash = new SHA1Managed();
string strHex = "";
HashValue = SHhash.ComputeHash(MessageBytes);
foreach (byte b in HashValue)
{
strHex += String.Format("{0:x2}", b);
}
return strHex;
} /* GetSHA1 */
private static string GetSHA256(string strPlain)
{
UnicodeEncoding UE = new UnicodeEncoding();
byte[] HashValue, MessageBytes = UE.GetBytes(strPlain);
SHA256Managed SHhash = new SHA256Managed();
string strHex = "";
HashValue = SHhash.ComputeHash(MessageBytes);
foreach (byte b in HashValue)
{
strHex += String.Format("{0:x2}", b);
}
return strHex;
} /* GetSHA256 */
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.