This is default featured slide 1 title

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam. blogger theme by BTemplates4u.com.

This is default featured slide 2 title

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam. blogger theme by BTemplates4u.com.

This is default featured slide 3 title

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam. blogger theme by BTemplates4u.com.

This is default featured slide 4 title

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam. blogger theme by BTemplates4u.com.

This is default featured slide 5 title

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam. blogger theme by BTemplates4u.com.

Tampilkan postingan dengan label APPLET. Tampilkan semua postingan
Tampilkan postingan dengan label APPLET. Tampilkan semua postingan

Membuat Program Java Enkripsi Applet

                  Ini adalah cara membuat suatu Program Enkripsi dengan Java Applet. Nah, bagi suka dengan Java, mungkin inilah hal yang perlu agan coba. Nah, langsung simak penejelasan saya....

Nanti program jadinya akan terlihat seperti ini:




=================================================================================




    

Nah, cara membuat program tersebut adalah sebagai berikut:

  1. Buat dulu file Java Applet dan beri nama file tersebut pada pagkage agan
  2. Lalu buat tampilan seperti diatas
================================================================================


4. Setelah itu masukkan codingnya:
  • Masukkan coding ini dibawah pagkage...
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import java.io.BufferedWriter;
import java.io.PrintWriter;
import java.io.FileWriter;
import javax.swing.JOptionPane;
import javax.swing.*;
import java.io.*;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.filechooser.FileFilter;
  • Lalu tulis method2 yang dibutuhkan berikut:

public class ta_java extends javax.swing.JFrame {
public ta_java() {
initComponents();
//Saat di awal aplikasi
//Judul = Untitled
this.setTitle("Untitled - NOTES");
//Atur Fillter jenis file dengan Handle fc
fc = new JFileChooser();
fc.addChoosableFileFilter(new jenisFile(EXT));
fc.addChoosableFileFilter(new jenisFile(EXT2));
//Filter Bawaan (All Files) di disable-kan
fc.setAcceptAllFileFilterUsed(false);
//variabel fileBaru diinisialisai dengan TRUE
fileBaru = true;
}
JFileChooser fc;
File file;
boolean fileBaru;
final String[] EXT = { ".csv" };
final String[] EXT2 = { ".txt", ".java" };

public String text,namafiletext;
private void msg(String pesan) {
JOptionPane.showMessageDialog(this,pesan,"Informasi", JOptionPane.INFORMATION_MESSAGE);
}
private boolean okToReplace() {
return (JOptionPane.showConfirmDialog(this, "File "+file.getName()+" Sudah Ada\n"+ "Akan Ditimpa ?",
"Peringatan",JOptionPane.YES_NO_OPTION)==0) ;
}

class jenisFile extends FileFilter {
private String[] s;
jenisFile(String[] sArg) {
s = sArg;
}
// Tentukan file apa yang akan ditampilkan
public boolean accept(File fArg) {
if (fArg.isDirectory())
return true;
// Jika Extension dari file sesuai syarat, tampilkan
for (int i = 0; i < s.length; ++i)
if (fArg.getName().toLowerCase().indexOf(s[i].toLowerCase()) > 0)
return true;
// selain kedua hal di atas, anggap false
return false;
}
public String getDescription() {
String tmp = "";
for (int i = 0; i < s.length; ++i)
tmp += "*" + s[i] + " ";
return tmp;
}
}
private void SimpanFile() {
PrintWriter pw = null;
try {
pw = new PrintWriter(new BufferedWriter(new FileWriter(file)));
} catch (IOException e) {
msg("Gagal Simpan File : '" + file.getName());
return;
}
pw.print(isi1.getText());
pw.close();
this.setTitle(file.getName()+" - NOTES" );
fileBaru = false;
}

class Enskripsimd5 {

private String convertToHex(byte[] data) {
StringBuffer buf = new StringBuffer();
for (int i = 0; i < data.length; i++) {
int halfbyte = (data[i] >>> 4) & 0x0F;
int two_halfs = 0;
do {
if ((0 <= halfbyte) && (halfbyte <= 9)) {
buf.append((char) ('0' + halfbyte));
} else {
buf.append((char) ('a' + (halfbyte - (int) geser.getValue())));
}
halfbyte = data[i] & 0x0F;
} while (two_halfs++ < 1);
}
return buf.toString();
}
public String MD5(String text)
throws NoSuchAlgorithmException, UnsupportedEncodingException {
MessageDigest md;
md = MessageDigest.getInstance("MD5");
byte[] md5hash = new byte[32];
md.update(text.getBytes("iso-8859-1"), 0, text.length());
md5hash = md.digest();
return convertToHex(md5hash);

}
}

public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {
new ta_java().setVisible(true);
}
});
}
private String readFile(File file){
String result="";
try{
FileInputStream fis=new FileInputStream(file);
BufferedInputStream bis=new BufferedInputStream(fis);
DataInputStream dis=new DataInputStream(bis);
while(dis.available()!=0){
result +=dis.readLine()+"\n";
}
}
catch(FileNotFoundException e){
}
catch(IOException e){
}
return result;
}
  • Masukkan coding untuk buka file:
private void bukaActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser fc= new JFileChooser();
JFrame jf= new JFrame();
int ret= fc.showOpenDialog(jf.add(fc));
if(ret==JFileChooser.APPROVE_OPTION) {
File file=fc.getSelectedFile();
text=readFile(file);
isi1.setText(text);
namafiletext=file.getPath().toString();
nama_file.setText(namafiletext);
}
}
  • Kemudian coding untuk Simpan File:
private void simpanActionPerformed(java.awt.event.ActionEvent evt) {
if (fileBaru)
simpan.doClick();
else
SimpanFile();
}
  • Coding Simpan Sebagai:
private void simpan_sbgActionPerformed(java.awt.event.ActionEvent evt) {
if (fc.showSaveDialog(this) == JFileChooser.APPROVE_OPTION){
file = fc.getSelectedFile();
if (!file.exists() || okToReplace())
SimpanFile();
}
}
  • Coding New File:
private void baruActionPerformed(java.awt.event.ActionEvent evt) {
isi1.setText("");
isi1.requestFocus();
this.setTitle("Untitled - NOTES");
fileBaru = true;
}
  • Coding Keluar:
private void keluarActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
  • Coding Ubah:
private void ubahActionPerformed(java.awt.event.ActionEvent evt) {
isi1.setEnabled(true);
}
  • Coding MD5_1:
private void md5_1ActionPerformed(java.awt.event.ActionEvent evt) {
save2.setEnabled(true);
password2.setEnabled(true);
pass2.setEnabled(true);
isi2.setEnabled(true);
saveas2.setEnabled(true);
md5_2.setEnabled(true);
random2.setEnabled(true);

Enskripsimd5 md5 = new Enskripsimd5();
try {
isi2.setText(md5.MD5(isi1.getText()));

} catch (NoSuchAlgorithmException ex) {
Logger.getLogger(ta_java.class.getName()).log(Level.SEVERE, null, ex);
} catch (UnsupportedEncodingException ex) {
Logger.getLogger(ta_java.class.getName()).log(Level.SEVERE, null);
}
}
  • Coding Random1:
private void random1ActionPerformed(java.awt.event.ActionEvent evt) {
save2.setEnabled(true);
password1.setEnabled(true);
pass2.setEnabled(true);
isi2.setEnabled(true);
saveas2.setEnabled(true);
md5_2.setEnabled(true);
random2.setEnabled(true);
String randomKey = "";
double randomNumber;
for (int i = 0; i < isi1.getText().length(); i++) {
randomNumber = Math.random() * 25 + 65;
randomKey = randomKey + (char) randomNumber;
}

isi2.setText(randomKey);
}
  • Coding Save2:
private void save2ActionPerformed(java.awt.event.ActionEvent evt) {
if (fileBaru) {
saveas2.doClick();
} else {
SimpanFile();
}
}
  • Coding Saveas2:
private void saveas2ActionPerformed(java.awt.event.ActionEvent evt) {
if (fc.showSaveDialog(this) == JFileChooser.APPROVE_OPTION) {
file = fc.getSelectedFile();
if (!file.exists() || okToReplace()) {
SimpanFile();
}
}
}
  • Coding Random2:
private void random2ActionPerformed(java.awt.event.ActionEvent evt) {
String randomKey = "";
double randomNumber;
for (int i = 0; i < isi2.getText().length(); i++) {
randomNumber = Math.random() * 25 + 65;
randomKey = randomKey + (char) randomNumber;
}

isi1.setText(randomKey);
}
  • Coding Password1:
private void password1ActionPerformed(java.awt.event.ActionEvent evt) {
if (pass2.getText().equals(pass1.getText())) {
msg("password anda benar : " + pass1.getText());
isi1.setText(isi2.getText());
} else {
msg("password anda salah : " + pass1.getText());
}
}
  • Coding Password2:
private void password2ActionPerformed(java.awt.event.ActionEvent evt) {
if (pass1.getText().equals(pass2.getText())) {
msg("password anda benar : " + pass2.getText());
isi2.setText(isi1.getText());
} else {
msg("password anda salah : " + pass2.getText());
}
}

Setelah itu coba di RUN. Jika ada coding yang masih error, coba cari sendiri dulu Kalau.

Bila anda ingin mengetahui Project saya, anda bisa menhubungi saya di WALL saya : AJI SUKMA SEJATI

ATAU CALL ane di : 082331011658

SUMBER : PIKIRAN ANE BESARTA KAKAK KAKAK KELAS ANE :

                                                 TERIMA KASIH


Enkripsi dan Dekripsi data pada Java


              
            Nah, kalau yang satu ini agak beda dengan MATERI yang laen, yaitu tentang enkripsi dan deskripsi data, dan berikut penjelasanya . . :::"

Enkripsi :  proses penggunaan algoritma yang kompleks untuk mengkonversi pesan ( plaintext ataucleartext ) ke suatu pesan terenkripsi ( chipertext ). Hal ini ditujukan untuk mengamankan suatu informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus . Enkripsi dapat digunakan untuk tujuan keamanan , tetapi teknik lain masih diperlukan untuk membuat komunikasi yang aman , terutama untuk memastikan integritas dan autentukasi dari sebuah pesan .

Deskripsi :  proses penggunaan algoritma yang kompleks untuk mengkonversi pesan terenkripsi ( chipertext ) ke suatu pesan ( plaintext atau cleartext ).


Bit Kunci dan Blok Data

          banyak banget jenis Enkripsi dan setiap enkripsi dibedakan berdasar besar bit kunci dan besar blok datanya. Dari mulai bit kunci 8-bit,sampai 256 bit. dan dari 64-bit hingga 512-bit besar blok data. Mengapa bit kunci dan blok data penting?,karena kekuatan dari enkripsi terletak dalam tiga hal, yaitu besar bit kunci, bear blok data, dan metode pengulangan yang dilakukan didalamnya. semakin besar blok kunci, semakin kecil blok data dan semakin banyak pengulangan yang dilakukan maka enkripsi tersebut bisa dibilang cukup tangguh, dan begitu juga sebaliknya.



A.  JENIS JENIS ENKRIPSI PADA JAVA BESERTA CONTOH :



1. Metode Enkripsi MD2
             Message-Digest algortihm 2 (MD2) adalah fungsi hash cryptographic yang dikembangkan oleh Ronald Rivest pada tahun 1989.
Algoritma dioptimalkan untuk komputer 8-bit. MD2 yang ditetapkan dalam RFC 1319.
Meskipun algoritma lainnya telah diusulkan sejak dulu, seperti MD4, MD5 dan SHA, bahkan sampai dengan 2004 [update] MD2 tetap digunakan dalam infrastruktur kunci publik sebagai bagian dari sertifikat yang dihasilkan dengan MD2 dan RSA.

2. Metode Enkripsi MD4
            Message-Digest algortihm 4(seri ke-4) yang dirancang oleh Profesor Ronald Rivest dari MIT pada tahun 1990.
Panjangnya adalah 128 bit.
MD4 juga digunakan untuk menghitung NT-hash ringkasan password pada Microsoft Windows NT, XP dan Vista.

3. Metode Enkripsi MD5
            MD5 adalah salah satu dari serangkaian algortima message digest yang didesain oleh Profesor Ronald Rivest dari MIT (Rivest, 1994).
Saat kerja analitik menunjukkan bahwa pendahulu MD5 yaitu MD4 mulai tidak aman, MD5 kemudian didesain pada tahun 1991 sebagai pengganti dari MD4 (kelemahan MD4 ditemukan oleh Hans Dobbertin).
Dalam kriptografi, MD5 (Message-Digest algortihm 5) ialah fungsi hash kriptografik yang digunakan secara luas dengan hash value 128-bit.
Pada standart Internet (RFC 1321), MD5 telah dimanfaatkan secara bermacam-macam pada aplikasi keamanan, dan MD5 juga umum digunakan untuk melakukan pengujian integritas sebuah file.

4. Metode Enkripsi SHA
           SHA adalah serangkaian fungsi cryptographic hash yang dirancang oleh National Security Agency (NSA) dan diterbitkan oleh NIST sebagai US Federal Information Processing Standard.
SHA adalah Secure Hash Algoritma. Jenis-jenis SHA yaitu SHA-0, SHA-1, dan SHA-2.
Untuk SHA-2 menggunakan algoritma yang identik dengan ringkasan ukuran variabel yang terkenal sebagai SHA-224, SHA-256, SHA-384, dan SHA-512.

5. Metode Enkripsi RC4
            RC4 merupakan salah satu jenis stream cipher, yaitu memproses unit atau input data pada satu saat. Unit atau data pada umumnya sebuah byte atau bahkan kadang kadang bit (byte dalam hal RC4).
Dengan cara ini enkripsi atau dekripsi dapat dilaksanakan pada panjang yang variabel.
RC4 adalah penyandian stream cipher yang dibuat oleh Ron Riverst pada tahun 1987 untuk pengamanan RSA.
Algoritmanya didasarkan pada permutasi acak.

6. Metode Enkripsi Base64
              Base64 adalah sistem untuk mewakili data mentah byte sebagai karakter ASCII.
Base64 menyediakan 6-bit encoding 8-bit ASCII karakter.
Base64 merupakan format yang dicetak menggunakan karakter, memungkinkan binari data yang akan dikirim dalam bentuk dan email, dan akan disimpan di database atau file.



*** CONTOH SALAH SATU PROGRAM JAVA  ENKRIPSI : 


                  Enkripsi merupakan sebuah cara untuk mengacak data sehingga tidak bisa langsung dibaca. Teknik enkripsi , misalkan dengan cara melakukan MD5('pass') untuk menyimpan password dalam database mysql. Untuk aplikasi java yang berhubungan dengan SQL Server, kita bisa menggunakan class dari java. Dari algoritma MD5 sebelumya, kita bisa membuat class sendiri, atau memakai yang sudah disediakan di java security.

                    Hasil dari lihat javadoc class MessageDigest, java.sun.com/j2se/1.4.2/docs/api /java/security/MessageDigest.html, ada beberapa algoritma yang bisa dipakai langsung:


1. MD2: berdasarkan RFC 1319.

2. MD5: berdasarkan RFC 1321.
3. SHA-1: berdasarkan Secure Hash Standard, NIST FIPS 180-1.
4. SHA-256, SHA-384, and SHA-512: algoritma baru berdasarkan draft Federal Information Processing Standard 180-2, Secure Hash Standard (SHS).


Pertamanya mencoba implementasi dengan kode berikut:
public class md5enc {
public md5enc(String inp,String enkripsi) {
byte[]input,output;
java.security.MessageDigest md=null;
input = str2byte(inp);
try{
md = java.security.MessageDigest.getInstance(enkripsi);
}catch(java.security.NoSuchAlgorithmException ex){System.out.println(ex);}
output = md.digest(input);
System.out.println("input:"+byte2str(input));
System.out.println("Enkripsi:"+enkripsi);
System.out.println("output:"+byte2hex(output));
System.out.println("");
}
private byte[] str2byte(String b){
return b.getBytes();
}
private String byte2str(byte[]b){
String o="";
for(int i=0;i<b.length;i++){
char c=(char)b[i];
o+=c;
}
return o;
}
private String byte2hex(byte[]b){
String o="";
for(int i=0;i<b.length;i++){
char c=Long.toHexString(new Byte(b[i]).longValue()).charAt(0);
o+=c;
}
return o;
}
public static void main(String[]a){
new md5enc("Input data","MD5");
new md5enc("Input data","SHA");
}
}

                    Seperti yang sudah diduga, hasilnya berantakan. Karena salah konversi dari byte ke hexdesimal, sehingga menghasilkan 16, bukan 32, karakter hexadesimal.

input:Input data
Enkripsi:MD5
output:ff1ff7f5553f3f7f

input:Input data
Enkripsi:SHA
output:34fff3f3ffffff5f52f6

Dengan mencari lewat google, akhirnya tinggal memakai yang sudah jadi, lengkap dengan konversi hexa, dari www.anyexample.com, dengan sedikit modifikasi :

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.security.NoSuchAlgorithmException;

public class AeSimpleMD5 {

private static String convertToHex(byte[] data) {
StringBuffer buf = new StringBuffer();
for (int i = 0; i < data.length; i++) {
int halfbyte = (data[i] >>> 4) & 0x0F;
int two_halfs = 0;
do {
if ((0 <= halfbyte) && (halfbyte <= 9))
buf.append((char) ('0' + halfbyte));
else
buf.append((char) ('a' + (halfbyte - 10)));
halfbyte = data[i] & 0x0F;
} while(two_halfs++ < 1);
}
return buf.toString();
}

public static String MD5(String text) 
throws NoSuchAlgorithmException, UnsupportedEncodingException {
MessageDigest md;
md = MessageDigest.getInstance("MD5");
byte[] md5hash = new byte[32];
md.update(text.getBytes("iso-8859-1"), 0, text.length());
md5hash = md.digest();
return convertToHex(md5hash);
}

public static void main(String[] args) throws IOException {
BufferedReader userInput = new BufferedReader (new InputStreamReader(System.in));

System.out.print("Enter string:");
String rawString = userInput.readLine();

try {
System.out.println("MD5 hash of string: " + AeSimpleMD5.MD5(rawString));
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

Hasilnya:

===============================================================
Enter string:Hallo
MD5 hash of string: d1bf93299de1b68e6d382c893bf1215f

===============================================================




=======================================================================


berikut ini adalah scrip dari pembuatan aplikasi enkripsi dan dekripsi dengan memanfaatkan metode Caesar Cipher :

==============================================================
package kripto;

/**
 *
 * @author yoga
 */
public class CaesarCipher
{

public static void main(String[] args) {
String str = "yoga permana";
int key = 3;

String encrypted = encrypt(str, key);
System.out.println(encrypted);

String decrypted = decrypt(encrypted, key);
System.out.println(decrypted);
}

public static String encrypt(String str, int key) {
String encrypted = "";
for(int i = 0; i < str.length(); i++) {
int c = str.charAt(i);
if (Character.isUpperCase(c)) {
c = c + (key % 26);
if (c > 'Z')
c = c - 26;
} else if (Character.isLowerCase(c)) {
c = c + (key % 26);
if (c > 'z')
c = c - 26;
}
encrypted += (char) c;
}
return encrypted;
}

public static String decrypt(String str, int key)
{
String decrypted = "";
for(int i = 0; i < str.length(); i++) {
int c = str.charAt(i);
if (Character.isUpperCase(c)) {
c = c - (key % 26);
if (c < 'A')
c = c + 26;
} else if (Character.isLowerCase(c)) {
c = c - (key % 26);
if (c < 'a')
c = c + 26;
}
decrypted += (char) c;
}
return decrypted;
}
}



==========================================================
==========================================================

by : moketbestinfo.blogspot.com










Feature

Like Our Fanspage

Diberdayakan oleh Blogger.