Skip Navigation LinksAnasayfa > C# : Basit ama kullanışlı metotlar

C# : Basit ama kullanışlı metotlar

Bu yazıda zamanla geliştirdiğim bazı basit ama çok kullanışlı metotları paylaşacağım. Bu metotları kullanarak uygulamalarınızı daha modüler hale getirebilir ve zaman kazanabilirsiniz.  Bu metotları bir sınıf içinde toplayarak uygulamanıza dahil edin ve her kullandığızda bana bir teşekkürü çok görmeyin. :)

Tüm metotları içeren sınıfı buradan indirebilirsiniz. Keyfini çıkarın.

1. İki byte[] array'in karşılaştırılması

/// <summary>
/// İki byte[] array'in aynı diziler olup olmadığını kıyaslar.
/// </summary>
/// <param name="hash1">ilk byte[] array.</param>
/// <param name="hash2">ikinci byte[] array.</param>
/// <returns>diziler eşitse true, değilse false</returns>
public static bool IsEqualArray(byte[] hash1, byte[] hash2)
{
bool isEqual = false;
if (hash1.Length == hash2.Length)
{
int i = 0;
while ((i < hash1.Length) && (hash1[i] == hash2[i]))
{
i += 1;
}
if (i == hash1.Length)
{
isEqual = true;
}
}
return isEqual;
}



2. MD5CryptoServiceProvider kullanarak metin şifreleme

/// <summary>
/// Verilen metni MD5CryptoServiceProvider ile şifreleyerek byte[] dizinine döndürür.
/// </summary>
/// <param name="str">Şifrelenecek metin.</param>
/// <returns>byte[]</returns>
public static byte[] Crypt(string str)
{
MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider();
byte[] hashedBytes;

UTF8Encoding encoder = new UTF8Encoding();
hashedBytes = md5Hasher.ComputeHash(encoder.GetBytes(str));

return hashedBytes;
}



3. Email kontrolü (sunucu taraflı)

/// <summary>
/// Verilen değerin geçerli bir email adresi olup olmadığını sınar.
/// </summary>
/// <param name="strEmail">Email adresi</param>
/// <returns>bool</returns>
public static bool IsEmail(string strEmail)
{
string regex_Email = @"^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$";
Regex re = new Regex(regex_Email);
return re.IsMatch(strEmail) ? true : false;
}



4. Guid (Unique Identifier) kontrolü (sunucu taraflı)

/// <summary>
/// Verilen değerin Guid olup olmadığını kontrol eder.
/// </summary>
/// <param name="strGuid">guid değeri</param>
/// <returns>bool</returns>
public static bool IsGuid(string strGuid)
{
string regex_Guid = @"^(\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1}$";
bool isValid = false;
if (!String.IsNullOrEmpty(strGuid))
{
Regex re = new Regex(regex_Guid);
if (re.IsMatch(strGuid))
{
isValid = true;
}
}
return isValid;
}



5. Html encode

/// <summary>
/// html şifreleme işlemi gerçekleştirir.
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static string HtmlEncode(string str)
{
return System.Web.HttpUtility.HtmlEncode(str);
}


6. Html decode

/// <summary>
/// şifrelenmiş bir html metni çözer.
/// </summary>
/// <param name="strEncoded"></param>
/// <returns></returns>
public static string HtmlDecode(string strEncoded)
{
return System.Web.HttpUtility.HtmlDecode(strEncoded);
}


Eklenme Zamanı9/4/2007 4:50 AM   Yorum EkleYorumlar (6)   EtiketlerEtiketler : c#

Yorumlar 10/15/2008 9:54 PM - Süleyman Ural

Saolun hocam, yalnız Yesim arkadasımızın sorusunu bende sormak istiyorum. şiflenen metni cozecek foksiyon olması gerekmiyormu.saygılar.

Yorumlar 6/11/2008 1:33 AM - Barış

MD5 bir hash cinsidir. Bu sebepten tek yönlüdür ve geri çözebilen fonksiyonu olmaz. Zaten amacıda geri döndürülemiyor olması. Kullanım alanları genelde data signing (Bu maillerdeki digital signature gibi) password storage gibi geri çevrilmesi istenmeyen ve fixed length olduğu içinde herşey ile kolaylıkla kullanabildiğimiz süpriz çıkartmayan hash cinsidir. Geri dönüşümlü bir şifreleme sistemi istiyorsan 1997 te NIST'nin araştırmaya başladığını duyurduğu ve 26 Mayıs 2002 de Rijndael algoritmasını kesin olarak DES'in yerine Advanced Encryption Standart olarak seçtiği ve AES_128, AES_196 ve son olarak AES_256 isimli block cipher (blok şifreleme) tipli güvenlik algoritmalarını veya muadillerini araştırabilirsin.

Yorumlar 5/20/2008 1:32 PM - yeşim

Verilen metni MD5CryptoServiceProvider ile şifreleyerek byte[] dizinine döndürür. makalesi işime yarar ancak, şifrelenen metni geri çözen fonksiyon olmasıda gerekmezmi.?

Yorumlar 2/28/2008 4:15 PM - serkan uz

Yararlı bilgiler için teşekkürler

Yorumlar 1/16/2008 5:01 PM - Akın

tesekkur, bu yazin da guzel, ayrica blogun tamami guzel olmus

Yorumlar 1/16/2008 11:23 AM - Gönül Uslu

Excel'e kopyaladım boş zamanımda deneyeceğim

Yorum Ekle

* Yorumlarınız onaylandıktan sonra yayınlanacaktır.
* Ip adresiniz güvenlik gerekçesiyle kaydedilmektedir.