سوال : hash پسورد در asp

Sarp

مدیر بازنشسته
سلام

تو php به راحتی میشه این کار رو انجام داد !
یعنی هش کردن پسوردها تو سایتهای داینامیک واسه امنیت !

مثلا :
کد:
 <?
echo md5("Test") ;
?>

و البته کلاسهایی هم واسه هش داده ها با الگوریتمهای مختلف مثل SHA1 وجود داره .

حالا میخوام بدونم تو asp و asp.net چه راههایی واسه این کار هست !

 

A.S.Roma

عضو جدید
کاربر ممتاز
شما namespace زیر رو اضافه کن :
System.Security.Cryptography;
هر چیز واسه رمزنگاری نیاز هست موجوده !
نمونه کد md5 :
http://www.aspnettutorials.com/tutorials/advanced/md5-secret-aspnet2-csharp.aspx
ضمنا" اگر فقط میخواهید از hashing استفاده کنید . از متد GetHashCode می تونید استفاده کنید .
مثلا":
int p = 125;
p.GetHashCode();
-------------------------------------------
البته در مورد Membership خود دات نت و به نحوی شسته و رفته این کار رو انجام داده و نیازی به این کارا نیست.
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
http://www.www.www.iran-eng.ir/FILES/013100851X_xs.jpgکتاب
.Net Security and Cryptography
در این زمینه خوب هست. توصیه میکنم یه نگاهی بهش بندازید.:gol:
 

Sarp

مدیر بازنشسته
شما namespace زیر رو اضافه کن :
System.Security.Cryptography;
هر چیز واسه رمزنگاری نیاز هست موجوده !
نمونه کد md5 :
http://www.aspnettutorials.com/tutorials/advanced/md5-secret-aspnet2-csharp.aspx
ضمنا" اگر فقط میخواهید از hashing استفاده کنید . از متد GetHashCode می تونید استفاده کنید .
مثلا":
int p = 125;
p.GetHashCode();
-------------------------------------------
البته در مورد Membership خود دات نت و به نحوی شسته و رفته این کار رو انجام داده و نیازی به این کارا نیست.

http://www.www.www.iran-eng.ir/FILES/013100851X_xs.jpgکتاب
.Net Security and Cryptography
در این زمینه خوب هست. توصیه میکنم یه نگاهی بهش بندازید.:gol:
ممنون از هر دو

فقط واسه ارضای حس کنجکاوی بود ! :دی
 

Sarp

مدیر بازنشسته
این یه مثاله
از یه applaction



کد:
 private void txtHash_TextChanged(object sender, System.EventArgs e)
{
    lblMD5.Text =        "MD5: "    + new clsHash().GetMD5(txtHash.Text);  
    lblSHA1.Text =       "SHA1: "   + new clsHash().GetSHA1(txtHash.Text);  
    txtGetSHA256.Text =  "SHA256: " + new clsHash().GetSHA256(txtHash.Text);  
    txtGetSHA384.Text =  "SHA384: " + new clsHash().GetSHA384(txtHash.Text);
    txtGetSHA512.Text =  "SHA512: " + new clsHash().GetSHA512(txtHash.Text);
}


یعنی یه کلاس هست که هر 5 الگوریتم رو یه جا . . . .:surprised:

چنین کلاسی هست ؟
اگه هست لطف میکنید کدش رو بذارین اینجا :smile:
 

Sarp

مدیر بازنشسته
یه چیزی پیدا کردم

اینه کلاسش دیگه نه ؟ :surprised:

کد:
 using System;
using System.Text;
using System.Security.Cryptography ;

namespace hex_cs
{
	/// <summary>
	/// Summary description for clsHash.
	/// </summary>
	public class clsHash
	{
		public clsHash()
		{
			//
			// TODO: Add constructor logic here
			//
		}

		/*
		public string encryptPassMD5(string strPass)
		{
			return
				System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(
				strPass,
				"MD5");
		}
		
		public string encryptPassSHA1(string strPass)
		{
			return
				System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(
				strPass,
				"SHA1");
		}
		*/

		public string MD5 (string strInput_plainText)
		{
			/// Convert plain text into a byte array.
            byte[] buffer = Encoding.UTF8.GetBytes(strInput_plainText);
			System.Security.Cryptography.MD5CryptoServiceProvider check;
			check = new System.Security.Cryptography.MD5CryptoServiceProvider();
			byte[] somme = check.ComputeHash (buffer);
			return Convert.ToBase64String(buffer);
		}

		public string GetMD5(string strPlain) 
		{
			UnicodeEncoding UE = new UnicodeEncoding();
			byte[] HashValue, MessageBytes = UE.GetBytes(strPlain);
			MD5 md5 = new MD5CryptoServiceProvider();
			string strHex = "";
			
			HashValue = md5.ComputeHash(MessageBytes);

			foreach(byte b in HashValue) 
			{
				strHex += String.Format("{0:x2}", b);
			}                      

			return strHex;

		} /* GetMD5 */
		
		public 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 */
		
		public 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 */
		
		public string GetSHA384(string strPlain) 
		{
			UnicodeEncoding UE = new UnicodeEncoding();
			byte[] HashValue, MessageBytes = UE.GetBytes(strPlain);
			SHA384Managed SHhash = new SHA384Managed();
			string strHex = "";

			HashValue = SHhash.ComputeHash(MessageBytes);
			foreach(byte b in HashValue) 
			{
				strHex += String.Format("{0:x2}", b);
			}
			return strHex;
		} /* GetSHA384 */
		
		public string GetSHA512(string strPlain) 
		{
			UnicodeEncoding UE = new UnicodeEncoding();
			byte[] HashValue, MessageBytes = UE.GetBytes(strPlain);
			SHA512Managed SHhash = new SHA512Managed();
			string strHex = "";

			HashValue = SHhash.ComputeHash(MessageBytes);
			foreach(byte b in HashValue) 
			{
				strHex += String.Format("{0:x2}", b);
			}
			return strHex;
		} /* GetSHA512 */

	}
}
 

A.S.Roma

عضو جدید
کاربر ممتاز
یکی اومده چندتا الگوریتم رو تو یه کلاس جمع آوری کرده .
خودت می تونی گسترشش بدی !
 

Sarp

مدیر بازنشسته
نععععععععععععععععععععع

گفتم که واسه کنجکاوی بود :D

وگرنه حداقل واسه وب اصلا علاقه ای به دات نت ندارم !
 

Similar threads

بالا