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