namespace rc2desifreleme

{

public class Class1

{

private static void desifre(string dosya, string sifre)

{

//parametrelerimizi tanımlıyoruz

bool devam = parametre(dosya, ref sifre);
if (!devam) return;

//rc2 algoritmamıza başlıyoruz

RC2 rc2 = RC2.Create();

byte[] dizi = new byte[16] { 83, 97, 76, 54, 123, 28, 95, 12, 09, 70, 231, 117, 156, 71, 45, 90 };

byte[] anahtar = System.Text.Encoding.ASCII.GetBytes(sifre);

string dosyacikis = Path.ChangeExtension(dosya, "rc2_desifre");

//deşifrelemye yardımcı olan CreateEncryptor sınıfımızı kullanıyoruz

ICryptoTransform dönüstür = rc2.CreateEncryptor(sifre, dizi);

//her .net cryptography uygulamamızda yaptığımız gibi filestream ile giriş ve çıkış dosya işlemlerimizi_

//gerçekleştirmek için tanımlamalarımızı yapıyoruz

FileStream giris = null;

FileStream cikis = null;

CryptoStream sifrele = null;

try

{

giris = new FileStream(dosya, FileMode.Open);

cikis = new FileStream(dosyacikis, FileMode.Create);

sifrele = new CryptoStream(cikis, transform,CryptoStreamMode.Write);

dinamikbaglantı(giris, sifrele); //*

 }

finally

{

if (sifrele != null) sifrele.Close();

if (cikis != null) cikis.Close();

if (giris != null) giris.Close();

}

Console.WriteLine("File encrypted.");

 

}

}

}

 

Yukarıdaki yıldızla belirttiğim dinamikbaglanti tanımlamasına dikkat edin.Onuda kodlamamız içerisinde ayrıca yaratıyoruz.Şimdi devam edelim....

 


private
static void dinamikbaglanti(Stream giris, Stream cikis)

//çıkış işlemlerinde CryptoStreamMode.Write,giriş işlemlemlerinde CryptoStreamMode.Read sınıfları görev alır.

//yeri geldiğinde onların tanımlamalarında,aşağıdaki gibi kullanırız.

//örn:crypto = new CryptoStream(cikis, dönüstür, CryptoStreamMode.Write);

{

const int boyut = 64 * 1024; //64k boyutunda yarattık.

byte[] buffer = new byte[boyut]; //yarattığımız dizi anahtara buffer atıyoruz.

 int boyutoku = giris.Read(buffer, 0, boyut);

while (boyutoku > 0)

{

cikis.Write(buffer, 0, boyutoku);

boyutoku = giris.Read(buffer, 0, boyut);

}

}

Bu zaman kadarki makalelerim,örnekler ve uygulamar dışında bu makalemdede rc2 üzerinden deşifreleme uygulamasını uygun gördüm.

Her türlü soru ve görüşleriniz için batuhantosun@developermania.net adresine mail atabilirsiniz. 

Saygı ve Sevgilerimle.Kolay Gelsin!!!