C# Veri Şifreleme ve Çözme (Encrypt & Decrypt)

Temmuz 04, 2017 Mustafa BÜKÜLMEZ 0 Yorum


Bu dersimizde C# Veri Şifreleme ve Çözme (Encrypt & Decrypt) işlemlerini göreceğiz


Selamlar arkadaşlar,
Bu dersimizde C# Veri Şifreleme ve Çözme (Encrypt & Decrypt) işlemlerini nasıl yapacağımızı anlatmaya çalışacağım. Bu konudaki kodlar hazır olduğundan ditek kodları paylaşacağım. Ancak dilerseniz bu kodları geliştirebilirsiniz. Benim amacım SQL Conneciton String deki şifre kısmını şifrelemekti. İşimi de fazlası ile gördü.
Encrypt = Şifrelemek
C#
public string Encrypt(string sifre)
        {
            byte[] data = UTF8Encoding.UTF8.GetBytes(sifre);
            using (MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider())
            {
                byte[] keys = md5.ComputeHash(UTF8Encoding.UTF8.GetBytes(hash));
                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);
                    return Convert.ToBase64String(results, 0, results.Length);
                }
            }
        }
Decrypt = Çözümlemek
C#
 public string Decrypt(string SifrelenmisDeger)
        {
            byte[] data = Convert.FromBase64String(SifrelenmisDeger);
            using (MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider())
            {
                byte[] keys = md5.ComputeHash(UTF8Encoding.UTF8.GetBytes(hash));
                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);
                    return UTF8Encoding.UTF8.GetString(results);
                }
            }
        }
Arkadaşlar bu iki kod bloğu arasında ortak bir nokta vardır. Oda Hash degiskenidir.
C#
     byte[] keys = md5.ComputeHash(UTF8Encoding.UTF8.GetBytes(hash));
Bu satırda görüğünüz hash adında bir değişkenimiz olacak. Bu değişken Encrypt içinde Decrypt için de aynı olmalıdır aksi takdirde sonuç hatalı olacaktır.
C#
 public string hash = "MustafaBÜKÜLMEZ";
Bu dersimizde bu kadar arkadaşlar,
Diğer derslerde görüşmek üzere.
Bol Kodlu Günler
https://mustafabukulmez.com/

0 Yorum: