Implementasi Halaman Awal Implementasi Halaman Enkripsi
29
“cipherArea”, text area “dekripKey”, text area “hasilDekripsi”, dan text area “LamaDekripsi”. Jika user ingin mendekripsi dokumen maka user menekan
tombol “Browse” untuk mencari dokumen yang akan didekripsi seperti di bawah ini.
Gambar 4.7 Kotak Dialog saat memilih Dokumen
Setelah memilih file kemudian pengguna menekan tombol “Open”. Setelah menekan tombol “Open” maka dokumen tersebut akan ditampilkan,
kemudian user menekan tombol “Browse” untuk mencari kunci yang disimpan setelah itu menekan tombol “Open”, maka tampilan akan seperti
di bawah ini.
30
Gambar 4.8 Tampilan Isi Ciphertext dan Kunci Acak yang Tersimpan
Kemudian user melakukan proses dekripsi dengan menekan tombol “Proses” maka hasil dari proses akan muncul serta lamanya proses tersebut
dilakukan.
Gambar 4.9 Tampilan Hasil Dekripsi dan Lama Proses
31
Selanjutnya user dapat menyimpan hasil dekripsi dengan menekan tombol “Simpan”. Hasil enkripsi dapat disimpan dengan format .txt dan
.doc.
Gambar 4.10 Tampilan Save Dialog
Setelah selesai menyimpan, jika dokumen berhasil disimpan akan muncul pesan Penyimpanan Hasil Dekripsi Telah Berhasil Disimpan di
.......... Titik-titik tersebut berisi direktori tempat dokumen disimpan.
Gambar 4.11 Pesan Ketika Proses Penyimpanan Hasil Dekripsi Berhasil Dilakukan
32
Berikut listing program beberapa proses yang terdapat pada tombol - tombol di Form Tampilan :
1. Tombol Generate Key
Berikut baris – baris perintah untuk menampilkan kunci secara acak,
dimana kelas Mersenne Twister sudah ada :
2. Proses Enkripsi
Berikut baris – baris perintah untuk proses enkripsi :
3. Proses Enkripsi
Berikut baris – baris perintah untuk proses dekripsi :
public static String genKeyint length { MersenneTwisterFast rand = new MersenneTwisterFast;
char[] key = new char[length]; for int i = 0; i length; i++ {
key[i] = char rand.nextInt132; if int key[i] 97 {
key[i] = char key[i] + 72; }
if int key[i] 122 { key[i] = char key[i] - 72;
} }
return new Stringkey; }
public static String encryptString message, String key { if message.length = key.length {
errorLengths must be equal; }
int[] im = charArrayToIntmessage.toCharArray; int[] ik = charArrayToIntkey.toCharArray;
int[] data = new int[message.length]; for int i = 0; i message.length; i++ {
data[i] = im[i] + ik[i]256; }
return new StringintArrayToChardata; }