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