소곤소곤 ad

2012년 12월 12일 수요일

BigInteger를 이용한 md5 함수

MessageDigest와 BigInteger를 이용하는 MD5 해시함수 MD5 hash function using MessageDigest and BigInteger

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

private static String md5hash(String input) 
{
    String md5 = null;

    if(null == input) return null;

    try {
        //Create MessageDigest object for MD5
        MessageDigest digest = MessageDigest.getInstance("MD5");

        //Update input string in message digest
        digest.update(input.getBytes(), 0, input.length());

        //Converts message digest value in base 16 (hex) 
        md5 = new BigInteger(1, digest.digest()).toString(16).toUpperCase();

    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    }
    return md5;
}