Melakukan hashing MD5 pada Java


Tulisan kali ini mungkin singkat saja saya akan memberikan contoh penggunaan MD5 pada Java. Teknik MD5 umumnya masih banyak dipakai untuk proses autentifikasi sederhana atau proses checksum pada suatu file. Pada contoh kali ini misalkan kita mengetikkan password kemudian dilakukan hashing ke dalam bentuk MD5, kemudian dilakukan autentifikasi terhadap data yang ada di DB. Namun dalam contoh kali ini saya hanya berfokus untuk mengolah String hasil input, kita memanfaatkan class MessageDigest  pada package java.security

public class MD5example
{
   public static void main(String[] args)throws Exception
   {
    String password = "123456";
    MessageDigest md = MessageDigest.getInstance("MD5");
    md.update(password.getBytes());
    byte byteData[] = md.digest();
    //convert the byte to hex format method 1
    StringBuffer sb = new StringBuffer();
    for (int i = 0; i < byteData.length; i++)
    {
       sb.append(Integer.toString((byteData[i] & 0xff) + 0x100, 16).substring(1));
    }
    System.out.println("Digest(in hex format):: " + sb.toString());
    //convert the byte to hex format method 2
    StringBuffer hexString = new StringBuffer();
    for (int i=0;i<byteData.length;i++)
    {
       String hex=Integer.toHexString(0xff & byteData[i]);
       if(hex.length()==1) hexString.append('0');
       hexString.append(hex);
    }
    System.out.println("Digest(in hex format):: " + hexString.toString());
   }
}

Sehingga, dari String yang bernilai “123456” akan ditampilkan output

Digest(in hex format):: e10adc3949ba59abbe56e057f20f883e
Digest(in hex format):: e10adc3949ba59abbe56e057f20f883e

Untuk source code lengkapnya dapat diunduh di Dropbox, semoga tips singkat ini bermanfaat buat teman-teman 🙂

Credit:

MKYong

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s