none
Password Tablo MD5 ıle tanımlanıp degiştirilmesi RRS feed

  • Soru

  • Merhaba Arkadaşlar , Benım Bir Sorunum Var 

    Bir Account Tablosunda MD5 ile pasword kodlanmış ben bu md5 ile kodlanan pasword kırabilirmiyim 

    Cevaplarınız İçin Teşekür ederim 

    Boyle Bir tane 

    Örnek : abd4d137f396671640ae214140a0d0f4   

    Cevap :195123e

    5 Ekim 2018 Cuma 21:10

Tüm Yanıtlar

  • Bunun için şifrelemede kullanılan anahtar değerini biliyor olmalısınız. Yani kelimeyi siz şifrelemiş olmalısınız veya şifreleyen size anahtar değerini vermiş olmalı. Anahtar değerini biliyorsanız şifreleme ve çözme işlemini bu kodlarla yapabilirsiniz.

    public static string Encrypt(string text, string key)
    {
        string ret = "";
        byte[] data = Encoding.UTF8.GetBytes(text);
        using (MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider())
        {
            byte[] keys = md5.ComputeHash(Encoding.UTF8.GetBytes(key));
            using (TripleDESCryptoServiceProvider tripDes = new TripleDESCryptoServiceProvider()
            {
                Key = keys,
                Mode = CipherMode.ECB,
                Padding = PaddingMode.PKCS7
            })
            {
                ICryptoTransform transform = tripDes.CreateEncryptor();
                byte[] results = transform.TransformFinalBlock(data, 0, data.Length);
                ret = Convert.ToBase64String(results, 0, results.Length);
            }
        }
        if (ret.Length == 0)
            return null;
        return ret;
    }
    
    public static string Decrypt(string text, string key)
    {
        string ret = "";
        byte[] data = Convert.FromBase64String(text);
        using (MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider())
        {
            byte[] keys = md5.ComputeHash(Encoding.UTF8.GetBytes(key));
            using (TripleDESCryptoServiceProvider tripDes = new TripleDESCryptoServiceProvider()
            {
                Key = keys,
                Mode = CipherMode.ECB,
                Padding = PaddingMode.PKCS7
            })
            {
                ICryptoTransform transform = tripDes.CreateDecryptor();
                byte[] results = transform.TransformFinalBlock(data, 0, data.Length);
                ret = Encoding.UTF8.GetString(results);
            }
        }
        if (ret.Length == 0)
            return null;
        return ret;
    }


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    6 Ekim 2018 Cumartesi 09:14
  • MD5 tek yönlüdür. Rainbow table da yoksa kıramazsınız.

    www.cihanyakar.com

    6 Ekim 2018 Cumartesi 11:30
  • Bunun için şifrelemede kullanılan anahtar değerini biliyor olmalısınız. Yani kelimeyi siz şifrelemiş olmalısınız veya şifreleyen size anahtar değerini vermiş olmalı. Anahtar değerini biliyorsanız şifreleme ve çözme işlemini bu kodlarla yapabilirsiniz.

    Burada MD5 ve 3DES algoritmaları beraber kullanılmış. MD5 yalnızca anahtarı sabit boyuta getirme amacıyla kullanılıyor. Asıl şifreleme çift yönlü olan 3DES algoritmasında.

    Küçük bir ekleme, 3DES de ise en güvensiz olan ECB (electronic code book) yöntemi seçilmiş. ECB ile büyük bir dosya şifrelenir ise tekrar eden kısımlar analiz edilerek dosyaya ulaşılabilir.


    www.cihanyakar.com


    6 Ekim 2018 Cumartesi 11:34