Rfc2898DeriveBytes Kullanarak Şifreleme | C#
Merhaba, C# dilinde basit bir şifreleme ve şifre çözme metoduna ihtiyaç duyanlar için kendi kullandığım bir metodu paylaşıyorum.
using System;
using System.Security.Cryptography;
using System.IO;
public class Program
{
public static string SifrePublicKey = "ZZZ";
public static byte[] SifreSalt = System.Text.Encoding.ASCII.GetBytes("SSSSSSSS");
public static void Main()
{
string s = "zamkinos";
string ss = Sifrele(s);
Console.WriteLine("Sifrelenmis ==> " + ss);
string sss = SifreCoz(ss);
Console.WriteLine("Cozulmus ==> " + sss);
}
public static string Sifrele(string s)
{
Rfc2898DeriveBytes key = new Rfc2898DeriveBytes(SifrePublicKey, SifreSalt);
MemoryStream ms = new MemoryStream();
StreamWriter sw = new StreamWriter(new CryptoStream(ms, new RijndaelManaged().CreateEncryptor(key.GetBytes(32), key.GetBytes(16)), CryptoStreamMode.Write));
sw.Write(s);
sw.Close();
ms.Close();
return Convert.ToBase64String(ms.ToArray());
}
public static string SifreCoz(string s)
{
Rfc2898DeriveBytes key = new Rfc2898DeriveBytes(SifrePublicKey, SifreSalt);
ICryptoTransform d = new RijndaelManaged().CreateDecryptor(key.GetBytes(32), key.GetBytes(16));
byte[] bytes = Convert.FromBase64String(s);
return new StreamReader(new CryptoStream(new MemoryStream(bytes), d, CryptoStreamMode.Read)).ReadToEnd();
}
}
Selamlar.