23 Ocak 2018 Salı

AesManaged Sınıfı

Giriş
Açıklaması şöyle
. NET provides two implementations of the AES encryption algorithm,  AesManaged and AesCryptoServiceProcider, but which one should you use? They both provide the same functionality in that they both implement the AES encryption specification. But the main difference is that AesManaged is a .NET specific implementation whereas AesCryptoServiceProcider uses the underlying cryptography libraries in Windows, which are FIPS-certified.
Bu sınıfın kardeşi AesCryptoServiceProvider sınıfıdır.

Constructor
Şöyle yaparız.
AesManaged aes = new AesManaged();
CreatDcryptor metodu
Şöyle yaparız.
byte[] text = ...;
ICryptoTransform decryptor = aes.CreateDecryptor(aes.Key, aes.IV);
using (MemoryStream ms = new MemoryStream(text))
{
  using (CryptoStream cs= new CryptoStream(ms, decryptor, CryptoStreamMode.Read))
  {
    using (StreamReader sr= new StreamReader(cs))
    {
      string decryptedText = sr.ReadToEnd();
    }
  }
}
CreateEncryptor metodu
Şöyle yaparız.
ICryptoTransform encryptor = aes.CreateEncryptor(aes.Key, aes.IV);
using (MemoryStream ms= new MemoryStream())
{
  using (CryptoStream cs = new CryptoStream(ms, encryptor, CryptoStreamMode.Write))
  {
    using (StreamWriter sw = new StreamWriter(cs))
    {

      sw.Write(text);
    }
    byte[]encryptedText = ms.ToArray();
  }
}
GenerateIV metodu
Açıklaması şöyle.
Generates a random initialization vector (IV) to be used for the algorithm.
Şöyle yaparız.
aes.GenerateIV();
Key Alanı
Şöyle yaparız.
byte[] key = ...;
aes.Key = key;
Padding Alanı
Şöyle yaparız.
aes.Padding = PaddingMode.PKCS7;


Hiç yorum yok:

Yorum Gönder