20 Temmuz 2016 Çarşamba

MD5 Sınıfı

Giriş
MD5 1991 yılında ortaya çıktı. 2004 yılında çakışmalara karşı güvenli olmadığı gösterildi. O zamandan beri MD5 yerine SHA ailesine ait bir algoritmanın kullanılması öneriliyor. 

MD5 128 bit hash çıktısı verir. Dolayısıyla kırılabilmesi için 2^127 denemenin yapılması gerekirdi ancak bazı özel durumlarda 2^47 denemede de kırılabildiği için güvenli sayılmıyor. Birthday attack ile ortalamada 2^64 denemede kırılıyor. MD5 halen sertifikalarda kullanılıyor ancak günleri sayılı

ComputeHash metodu - Byte []
Şöyle yaparız
byte[] input = ...
byte[] hash = MD5.Create().ComputeHash(input);
String şöyle hash haline getirir.
string input = ...
byte[] hash = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(input));

ComputeHash metodu - Stream 
Şöyle yaparız
using (var md5 = MD5.Create())
{
    using (var stream = File.OpenRead(filePath))
    {
        byte[] hash = md5.ComputeHash(stream);

    }
}
Create metodu
Create metodu aslında MD5CryptoServiceProvider sınıfı döner. Sınıfı her zaman using ile kullanırız.

using (MD5 md5Hash = MD5.Create())
{
   ...
}

Hiç yorum yok:

Yorum Gönder