Proses Enkripsi dan Dekripsi

57 array byte. Berikut ini adalah inti kode program untuk menyimpan data ke dalam file. try { FileOutputStream outputStream = new FileOutputStreamfilename; outputStream.writefilebuffer,0,filesize; outputStream.close; System.out.printlnWrote + filebuffer.length + bytes; }

4.2.2. Proses Enkripsi dan Dekripsi

Proses enkripsi dan dekripsi aplikasi menggunakan kelas yang sudah ada pada pustaka Java. Kelas yang digunakan untuk membuat kunci adalah kelas SecretKeySpec, sedangkan kelas yang digunakan untuk mengenkripsi dan mendekripsi adalah kelas Chiper. Proses enkripsi diawali dengan pembuatan kunci rahasia menggunakan algoritma Blowfish berdasarkan katakunci yang dimasukkan pengguna. Aplikasi selanjutnya menginstantiasi kelas Chiper untuk algoritma Blowfish. Inisiasi chiper dilakukan untuk menentukan mode proses ke enkripsi dengan kunci yang telah dibuat. Proses selanjutnya adalah melakukan enkripsi data menggunakan metode 58 doFinal. Kunci, data asal dan hasil enkripsi berupa array byte. Berikut ini adalah kode program untuk enkripsi. SecretKeySpec secretKeySpec = new SecretKeySpeckey, Blowfish; Cipher cipher = Cipher.getInstanceBlowfish; cipher.initCipher.ENCRYPT_MODE, secretKeySpec; byte[] encryptedByte = cipher.doFinalbyteText; return encryptedByte; Proses dekripsi diawali dengan pembuatan kunci rahasia menggunakan algoritma Blowfish berdasarkan katakunci yang dimasukkan pengguna. Aplikasi selanjutnya menginstantiasi kelas Chiper untuk algoritma Blowfish. Inisiasi chiper dilakukan untuk menentukan mode proses ke dekripsi dengan kunci yang telah dibuat. Proses selanjutnya adalah melakukan dekripsi data menggunakan metode doFinal. Kunci, data asal dan hasil dekripsi berupa array byte. Berikut ini adalah kode program untuk dekripsi. System.out.printlnDecrypting; SecretKeySpec secretKeySpec = new SecretKeySpeckey, Blowfish; Cipher cipher = Cipher.getInstanceBlowfish; 59 cipher.initCipher.DECRYPT_MODE, secretKeySpec; byte[] decryptedByte = cipher.doFinalbyteText; return decryptedByte; Kode program yang digunakan untuk mengukur waktu enkripsi atau dekripsi diletakkan tepat diatas dan dibawah kode program untuk memanggil metode untuk enkripsi atau dekripsi. Peletakan kode program tepat sebelum dan sesudah dimaksudkan agar waktu yang dihasilkan merupakan waktu yang akurat untuk menggambarkan lamanya proses enkripsi dan dekripsi. Berikut ini adalah kode program yang digunakan untuk mengukur waktu proses enkripsi dan dekripsi. Enkripsi: Long startTime = System.currentTimeMillis; byteOutput = blowFish.encryptbyteInput, byteKey; Long estimatedTime = System.currentTimeMillis - startTime; Dekripsi: Long startTime = System.currentTimeMillis; byteOutput = blowFish.decryptbyteInput, byteKey; Long estimatedTime = System.currentTimeMillis - startTime; 60

4.2.3. Pengujian Aplikasi