private char Harfin_Sifresini_Coz(char Cozulecek_harf, int anahtarA, int anahtarB) { int moduler_a = anahtar_islemleri.Get_Moduler_Ters_Dondur(anahtarA, alfabedeki_harf_sayisi); //Moduler_Ters_Döndür(anahtarA); if (moduler_a == -1) { return(Cozulecek_harf); } char cozulmus_harf = ' '; #region Anahtarlı çözüm için int harfin_alfabemdeki_indexi = alfabem.Get_Harf_Index_Karsiligi(Cozulecek_harf); if (harfin_alfabemdeki_indexi == -1) { return(Cozulecek_harf); } int harfin_cozulmus_indexi = (moduler_a * (harfin_alfabemdeki_indexi - anahtarB)) % alfabedeki_harf_sayisi; if (harfin_cozulmus_indexi < 0) { harfin_cozulmus_indexi = harfin_cozulmus_indexi + alfabedeki_harf_sayisi; } cozulmus_harf = alfabem.Get_Index_Harf_Karsiligi(harfin_cozulmus_indexi); #endregion return(cozulmus_harf); }
private char Harfi_Sifrele(char harf, int anahtar_A, int anahtar_B) { int alfabemdeki_index = -1; // -1 ilk atama için -1 seçme sebebimiz hatalı dönüşleri yakalamak char yeni_harf; alfabemdeki_index = alfabem.Get_Harf_Index_Karsiligi(harf); // gelen harfin kendi olusturduğumuz alfabedeki index karsılıgını buluyoruz if (alfabemdeki_index == -1) { yeni_harf = harf; } else { // TODO : burada hangi şifreleme türü yapılmak isteniyorsa onu yap - yeni şifrelenme türleri eklenebilir sadece buraya bir if koyaark alfabemdeki_index = (anahtar_A * alfabemdeki_index + anahtar_B) % alfabedeki_harf_sayisi; yeni_harf = alfabem.Get_Index_Harf_Karsiligi(alfabemdeki_index); } return(yeni_harf); }