Enkripsi MD5 dalam Java

Rabu, 14 Maret 2012 0 komentar

Secara luas dengan hash value 128-bit. MD5 di desain oleh Ronald Rivest pada tahun 1991 untuk menggantikan hash function sebelumnya, MD4. Walaupun pada tahun 1996 ditemukan kecacatan pada metode ini, namun penggunaan metode ini dalam enkripsi data masih umum digunakan. Beberapa aplikasi database (MySQL, PostgreSQL, dll) masih menyediakan metode ini. Bahkan untuk beberapa aplikasi CMS menggunakan metode ini untuk menyimpan password login (contoh: Moodle). Enkripsi MD5 memang irreversible namun penggunaannya adalah dengan membandingkan data yang tersimpan (sudah terenkripsi) dengan hasil enkripsi data yang akan dibandingkan. Sehingga pengujian dapat dilakukan tanpa harus mengembalikan (dekrip) data.

Dalam implementasi di bahasa Java, sudah tersedia library untuk itu sehingga mempermudah dalam menggunakan metode itu:
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class SimpleMD5 {

   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);
   }
}
Contoh penggunaan :
String encrypted = SimpleMD5.MD5(“HMFT”);

Maka akan didapatkan nilai : e747769f238ccfc30717c7c95b3c05d9

Merubah Icon Pada Aplikasi Swing Java

0 komentar

Apa itu swing java ?
Swing Java adalah salah satu pemrograman berbasis GUI(Graphical User Interface) di Java. Sesungguhnya di Java terdapat dua macam pemrograman berbasis GUI(Graphical User Interface) yaitu : AWT dan Swing.
Namun dalam perkembangannya AWT sudah tidak dianjurkan untuk digunakan dikarenakan faktor keamanan. Banyak sekali fitur yang terdapat di Swing, namun dalam kesempatan ini kita hanya akan mengganti icon saja.
Walaupun Swing jarang di gunakan di aplikasi desktop base, karena kebanyakan developer lebih memilih menggunakan VB, Delphi ataupun .NET yang lebih ringan dan tidak makan banyak resource memory karena sifatnya yang native.
Namun penggunaan java bisa untuk lintas platform sehingga kita tidak perlu membuat aplikasi dua kali.
  • Memulai Coding
Tentunya saya tidak perlu mengingatkan kembali, dimana anda harus menulis kode program java serta bagaimana cara melakukan kompilasi dan mengeksekusinya.
Dibawah ini kode program sebelum icon terganti
// SebelumGanti.java

import javax.swing.JFrame;
import javax.swing.SwingUtilities;

 class SebelumGanti {
 private static void gantiIcon() {
   JFrame.setDefaultLookAndFeelDecorated(true);
   JFrame f = new JFrame("Icon Belum Terganti");
   f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   f.setSize(400, 400);
   f.setVisible(true);
 }

 public static void main(String[] args) {
 SwingUtilities.invokeLater(new Runnable() {
   public void run() {
  gantiIcon();
   }
  });
    }
 }
Merubah Icon Pada Aplikasi Swing Java Image
Dibawah ini kode program untuk mengganti icon
// SesudahGanti.java
import javax.swing.JFrame;
import javax.swing.ImageIcon;
import javax.swing.SwingUtilities;
import java.awt.Toolkit;

public class SesudahGanti {
  private static void gantiIcon() {

// ini membuat frame tampilan yang sama di semua sistem operasi
   JFrame.setDefaultLookAndFeelDecorated(true);

   // membuat objek frame yang mempunyai judul
   JFrame f = new JFrame("Icon Sudah Terganti");

   // cara pertama untuk merubah icon pada swing
   ImageIcon gambar = new ImageIcon("bomb.png");
   f.setIconImage(gambar.getImage());

   // cara kedua untuk merubah icon pada swing
   f.setIconImage(Toolkit.getDefaultToolkit().getImage("bomb.png"));
   f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   f.setSize(400, 400);
   f.setVisible(true);
 }

  public static void main(String[] args) {
 // aplikasi swing ditempatkan di thread yang berbeda
 SwingUtilities.invokeLater(new Runnable() {
   public void run() {
  gantiIcon();
   } });
 }
  }
Merubah Icon Pada Aplikasi Swing Java Image
Demikianlah tutorial singkat mengenai aplikasi desktop menggunakan java. Semoga bisa bermanfaat dan membantu untuk anda yang sedang belajar pemrograman java. Kita bertemu lagi di edisi mendatang.

Enkripsi SHA-1

0 komentar

Bagi temen2 programmer Java yang ingin menggunakan enkripsi SHA-1, namun tidak tau bagaimana caranya, saya akan membuat metode sendiri untuk membuat enkripsi tersebut.
01package com.wordpress.aliongz.utility;
02 
03import java.io.UnsupportedEncodingException;
04import java.security.MessageDigest;
05import java.security.NoSuchAlgorithmException;
06 
07public class SHA1Utility {
08 
09   private static String convertToHex(byte[] data) {
10      StringBuffer buf = new StringBuffer();
11      for (int i = 0; i < data.length; i++) {
12         int halfbyte = (data[i] >>> 4) & 0x0F;
13         int two_halfs = 0;
14         do {
15            if ((0 <= halfbyte) && (halfbyte <= 9)) {
16               buf.append((char) ('0' + halfbyte));
17            } else {
18               buf.append((char) ('a' + (halfbyte - 10)));
19            }
20            halfbyte = data[i] & 0x0F;
21         } while (two_halfs++ < 1);
22      }
23      return buf.toString();
24   }
25 
26   public static String getSHA1(String text)
27   throws NoSuchAlgorithmException, UnsupportedEncodingException {
28      MessageDigest md;
29      md = MessageDigest.getInstance("SHA-1");
30      byte[] sha1hash = new byte[40];
31      md.update(text.getBytes("iso-8859-1"), 0, text.length());
32      sha1hash = md.digest();
33      return convertToHex(sha1hash);
34   }
35}
Berikut salah satu contoh dalam penggunaannya.
01package com.wordpress.aliongz.main;
02 
03import com.wordpress.aliongz.utility.SHA1Utility;
04 
05public class Coba {
06    public static void main(String[] args) {
07       String s = "aliong";
08       System.out.println("SHA-1 dari " + s + " adalah " + SHA1Utility.getSHA1(s));
09   }
10}

 
Vengeance Andritera © 2011 | Designed by Bingo Cash, in collaboration with Modern Warfare 3, VPS Hosting and Compare Web Hosting