\n"; echo "\n"; echo "\n"; echo "Willy Sudiarto Raharjo - Tugas 2 Keamanan Komputer - Semester Gasal 2016/2017\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
\n"; echo "Hasil Enkripsi: \n"; echo "
\n"; $resultingCipherText = ""; echo "plaintext: " . strtolower($inputPlainText). "
"; echo "kunci: " . strtolower($inputKey). "
"; /* /* Pergeseran sebanyak panjang kunci */ for ($i = 0; $i < $keyLength; $i++) { /* /* Jika loop pertama, gunakan input awal /* Jika bukan loop pertama, gunakan hasil perhitungan sebelumnya */ if ($i == 0) { $originalPlainText = $inputPlainText; } else { $originalPlainText = $resultingCipherText; } /* /* Jumlah pergeseran dari karakter ke-i dari kunci /* Hasilnya dikurangi 97 karena karakter a kode ASCInya 97 /* Kita ingin a = 0, b = 1, c = 2, dst */ $numberOfMovement = ord(strtolower($inputKey[$i])) - 97; echo "Karakter ke-" . ($i+1) . " kunci - "; /* /* Pergeseran sebanyak panjang plaintext */ for ($j = 0; $j < $plainTextLength; $j++) { /* /* Algoritma: /* 1. Ambil kode ASCII dari teks menggunakan fungsi ord /* 2. Konversi ke bilangan 0 - 25 dengan mengurangi 97 /* 3. Tambahkan jumlah pergeseran dari karakter ke-i dari kunci /* 4. Pastikan hasilnya diantara 0-25 dengan cara modulus 26 /* 5. Kembalikan hasilnya ke karakter ASCII dengan fungsi chr */ $originalPlainText[$j] = chr((((ord(strtolower($originalPlainText[$j])) - 97) + $numberOfMovement) % 26) + 97); echo $originalPlainText[$j]; } echo "
\n"; /* /* Simpan hasilnya ke variabel resultingCipherText untuk nilai awal loop berikutnya */ $resultingCipherText = $originalPlainText; } echo "ciphertext: $resultingCipherText"; echo "
\n"; echo ":: Kembali ke halaman input ::\n"; echo "
\n"; echo "
\n"; echo "Willy Sudiarto Raharjo\n"; echo "
\n"; echo "\n"; echo "\n"; } else // Jika ternyata diakses melalui metode GET (kemungkinan besar pemanggilan langsung) { header("location:index.php"); // Redirect ke halaman input exit; // hanya memastikan bahwa tidak menjalankan perintah lain } ?>