Giriş
System.Security.Cryptography.DES sınıfından kalıtır. Sınıfın Key ve IV alanları byte[] ile doldurulur.
Daha sonra CreateEncryptor veya CreateDecryptor metodları çağrılarak bir nesne yaratılır. Bu nesne genellikle CryptoStream ile kullanılır.
Kullanım
Önce bir anahtar belirlenir.
Using ile kullanılır. Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
System.Security.Cryptography.DES sınıfından kalıtır. Sınıfın Key ve IV alanları byte[] ile doldurulur.
Daha sonra CreateEncryptor veya CreateDecryptor metodları çağrılarak bir nesne yaratılır. Bu nesne genellikle CryptoStream ile kullanılır.
Kullanım
Önce bir anahtar belirlenir.
public static string secretKey = "abcdefgh";
Daha sonra bir encryptor yaratılır. Bütün encryptor'lar ICryptoTransform arayüzünden kalıtırlar.DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
DES.Key = ASCIIEncoding.ASCII.GetBytes(secretKey);
DES.IV = ASCIIEncoding.ASCII.GetBytes(secretKey);
var encryptor = DES.CreateEncryptor(DES.Key, DES.IV);
encryptor şöyle PerformCrypto metoduna geçilir. PerformCrypto metodunda önce bir CryptoStream yaratılır ve içine encryptor ile MemoryStream verilir. CryptoStream yazılan veriyi şifreler ve MemoryStream'e doldurur.public static byte[] PerformCrypto(ICryptoTransform cryptoTransform, byte[] data)
{
using (var memoryStream = new MemoryStream())
{
using (var cryptoStream = new CryptoStream(memStream,cryptoTransform,
CryptoStreamMode.Write))
{
cryptoStream.Write(data, 0, data.Length);
cryptoStream.FlushFinalBlock();
return memoryStream.ToArray();
}
}
}
ConstructorUsing ile kullanılır. Şöyle yaparız.
using(DESCryptoServiceProvider des = new DESCryptoServiceProvider()){...}
Şöyle yaparız.DES des = new DESCryptoServiceProvider();
CreateDecryptor metoduŞöyle yaparız.
ICryptoTransform desdecrypt = des.CreateDecryptor();
CreateEncryptor metoduŞöyle yaparız.
ICryptoTransform desencrypt = des.CreateEncryptor();
CreateEncryptor metodu - Key + IV Şöyle yaparız.
byte[] key = ...;
byte[] iv = ...;
ICryptoTransform desencrypt = des.CreateEncryptor(key, iv);
GenerateIV metoduŞöyle yaparız.
byte[] keyBytes = ...;
des.GenerateIV();
ICryptoTransform desencrypt = des.CreateEncryptor(keyBytes, des.IV);
IV AlanıŞöyle yaparız.
string sKey = ...;
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
Key AlanıŞöyle yaparız.
string sKey = ...;
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
Padding AlanıŞöyle yaparız.
des.Padding = PaddingMode.None;
Hiç yorum yok:
Yorum Gönder