Phpdeki MD5in Javadaki Karşılığı

Yönetim konsolumdan php md5 fonksiyonunu kullanarak veritabanına yerleştirdiğim hash değerlerimi android clienttan sorgulamam gerekti. Bu yüzden de yazılan string değeri php md5 ile aynı algoritmaya göre çevirecek bir converter gerekiyordu. Javadaki herhangi bir kütüphanenin içerisinde doğrudan md5 gibi bir fonksiyon yok. Bu yüzden ufak bir fonksiyon yazmamız gerekiyor.

public static String md5(String input) throws NoSuchAlgorithmException {
    String result = input;
    if(input != null) {
        MessageDigest md = MessageDigest.getInstance("MD5"); //=>farklı bir algoritmada olabilirdi.
        md.update(input.getBytes());
        BigInteger hash = new BigInteger(1, md.digest());
        result = hash.toString(16);
        while(result.length() < 32) { //=>çünkü md5 32 karaktere çevirerek hashliyor.
            result = "0" + result;
        }
    }
    return result;
}

Fonksiyonu tanımladıktan sonra örnek bir kullanımla fonksiyonu çalıştıralım

String deger = null;
String hashdeger = md5(deger);

Have fun!