Soran
Password Tablo MD5 ıle tanımlanıp degiştirilmesi

Soru
-
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...
-
MD5 tek yönlüdür. Rainbow table da yoksa kıramazsınız.
-
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.
- Düzenleyen Cihan YakarMVP 6 Ekim 2018 Cumartesi 11:35