Fungsi MD5 di Java

Sering kali kita menggunakan hash MD5 untuk menyimpan password ke dalam database atau untuk keperluan kriptografi lainnya.

Pada pemrograman PHP, md5 telah tersedia secara langsung sehingga dapat langsung digunakan.

Begitu pula dengan di Java. Fungsi MD5 telah disediakan dalam package java.security.MessageDigest


Perhatikan contoh berikut:

Kita memiliki sebuah string

String kata = "chandra";

sebuah string lain kita siapkan untuk menyimpan hasil hash md5 dari string diatas

String hasil = "";

keluaran yang kita harapkan adalah

AD845A24A47DEECBFA8396E90DB75C6A

Untuk bisa menghasilkan keluaran diatas, kita harus menggunakan bantuan MessageDigest untuk mengubah isi dari String kata menjadi hasil dari MD5 dan menyimpannya di String hasil.

Perhatikan contoh class dibawah ini (saya gunakan method getMD5() untuk melakukan hash):

import java.security.MessageDigest;
import java.math.BigInteger;

public class Kriptografi
{
    public String getMD5(String kata)
    {
        String ret = "";
        MessageDigest m = MessageDigest.getInstance("MD5");
        byte[] data = kata.getBytes();
        m.update(data,0,data.length);
        BigInteger i = new BigInteger(1,m.digest());
        ret = String.format("%1$032X", i);
        return ret;
    }
}

Perlu diketahui bahwa hasil dari program diatas adalah uppercase, sehingga apabila ingin menjadi huruf kecil, dapat menggunakan fungsi dari string .toLowerCase();

if you think this article is useful (Y) , please leave a comment.. :-D

© 2011, Christian Chandra. All rights reserved. Find out more at http://blog.christianchandra.com

6 Replies to “Fungsi MD5 di Java”

    1. kita lakukan hash seperti MD5, agar password yang kita simpan di database aman, tidak ada orang yang bisa mengerti. Bahkan kita pun tidak bisa tahu password sebenarnya apa.
      Contoh alur kerjanya adalah sbb:
      password_asli -> di MD5 menjadi ABCDEFGH
      maka ABCDEFGH akan disimpan di database, lalu untuk pengecekan apakah password benar atau salah, harus melakukan MD5 lagi, jika hasilnya sama-sama ABCDEFGH maka password tepat. :-D

Leave a Reply

Your email address will not be published. Required fields are marked *