public static String Encrypt(String s) { int i, j; int randomBitPattern[] = new int[8]; for (i = 0; i < 7; i++) { randomBitPattern[i] = (i % 2 == 0) ? 1 : 0; } // yazdığımız metinnin uzunluğu boyunda bir char dizisi oluşturduk . char asc[] = new char[s.length()]; for (i = 0; i < s.length(); i++) { asc[i] = (char) ((int) s.charAt(i)); //oluşturduğumuz char dizisinin içerisine , metnimizin her bir ASCII numrasını tek tek attık . } BasicOperation b1 = new BasicOperation(); String cipherText = new String(""); // Burada ise bir şifreli metin için bir String tipinde değişken oluşturduk. for (i = 0; i < asc.length; i++) //ascnin uzunluğuna kadar bir for döngüsü açtık ve . . . { int temp = (int) (asc[i]); // asc nin i . karakterinin ASCII kodlarını temp tipinin içerisine attık . int len = b1.decimalToBinary(temp);//temp i decimal den Binary e dönüştürdük . int bintemp[] = new int[7]; // int tipinde binary dizisi için 7 uzunluğunda bir dizi oluşturduk . int xorlen; // if (len == 7) { for (j = 1; j <= len; j++) { bintemp[j - 1] = b1.binaryArrayAtPosition(j); } // XOR İşlemi xorlen = b1.xorop(bintemp, randomBitPattern, len); } else { bintemp[0] = 0; for (j = 1; j <= len; j++) { bintemp[j] = b1.binaryArrayAtPosition(j); // b1 de dönüştürdüğümüz binary değerleri burada bintemp dizisinin içerine atılır. } // XOR Operation xorlen = b1.xorop(bintemp, randomBitPattern, len + 1); //Oluşturduğumuz gereksinimler ile XOR işlemine tabi tutulur ve xorlen return edilir. } int xor[] = new int[xorlen]; //XORLEN boyutunda bir integer dizisi olşturulur. for (j = 0; j < xorlen; j++) { xor[j] = b1.xorinArrayAt(j); // b1 nesnesi içersinde global olarak tanımladığımız ve xor[] içine attığımız dizinden j. değer çekilir. cipherText = cipherText + xor[j]; //String ile oluşturduğumuz ciphertext içerisine XOR değerleri atılır. } } return (cipherText); // Şifrelendi! }