Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert MD5 into String in java

Tags:

java

md5

Can anyone know how to convert the MD5 to String. In my case I have saved the password in MD5 in database. I am trying to retreive the password and display it in string for the editing purpose.

This is what I have done for converting the string into encrypt format:

public static String encrypt(String source) {
   String md5 = null;
   try {
         MessageDigest mdEnc = MessageDigest.getInstance("MD5"); //Encryption algorithm
         mdEnc.update(source.getBytes(), 0, source.length());
         md5 = new BigInteger(1, mdEnc.digest()).toString(16); // Encrypted string
        } 
    catch (Exception ex) {
         return null;
    }
    return md5;
}

I don't know how convert the encrypt format into string for editing the password.

like image 476
bharathi Avatar asked Jul 26 '12 08:07

bharathi


People also ask

How do you generate MD5 hash of a string?

An MD5 hash is created by taking a string of an any length and encoding it into a 128-bit fingerprint. Encoding the same string using the MD5 algorithm will always result in the same 128-bit hash output.

What is MD5 hash in Java?

MD5 is a cryptographic algorithm that provides the hash functions to get a fixed length 128-bit (16 bytes) hash value. Using Java, we can implement the MD5 hash in an application by using the MessageDigest class which is defined in java. security package.

How do you convert a byte array into a string?

There are two ways to convert byte array to String: By using String class constructor. By using UTF-8 encoding.


2 Answers

    String password = "123456";

    MessageDigest md = MessageDigest.getInstance("MD5");
    md.update(password.getBytes());

    byte byteData[] = md.digest();

    StringBuffer sb = new StringBuffer();
    for (int i = 0; i < byteData.length; i++)
        sb.append(Integer.toString((byteData[i] & 0xff) + 0x100, 16).substring(1));

    System.out.println("Digest(in hex format):: " + sb.toString());
like image 149
vchyzhevskyi Avatar answered Oct 06 '22 05:10

vchyzhevskyi


MD5 is single side hash function. So you cannot decode it. This is why on many web sites you have options "retrieve password" by creating new one.

More about MD5

like image 23
Raknel Avatar answered Oct 06 '22 05:10

Raknel