MD5 hash in android or java

I required to convert string in MD5 hash.

I am using

MessageDigest md = MessageDigest.getInstance("MD5");
byte[] thedigest = md.digest(bytesOfMessage);

final protected static char[] hexArray = "0123456789ABCDEF".toCharArray();
    public static String bytesToHex( byte[] bytes )
    {
        char[] hexChars = new char[ bytes.length * 2 ];
        for( int j = 0; j < bytes.length; j++ )
        {
            int v = bytes[ j ] & 0xFF;
            hexChars[ j * 2 ] = hexArray[ v >>> 4 ];
            hexChars[ j * 2 + 1 ] = hexArray[ v & 0x0F ];
        }
        return new String( hexChars );
    }

It is giving output like this website http://www.md5.cz/

but I required to generate hash as this http://webcodertools.com/hashstring giving output.

Please use test in both sites.

with using above function I am getting o/p like first site but I need as second site is giving.

Is there any different function or am I missing something in this?

Thanks.

Jon Skeet
people
quotationmark

The second web site is simply using base64 instead of hex to represent the binary data as text. So you can get rid of your bytesToHex method entirely, and just use Base64:

String base64Digest = Base64.encodeToString(thedigest, Base64.DEFAULT);

(As an aside, I'd avoid using the as a prefix in variable names - it provides no benefit, and is just cruft.)

people

See more on this question at Stackoverflow