Converting a String to MD5 Hashes in Android

Save

We all have heard of MD5 encryption and it is one of the best encryptors so far. In this Blog, we will learn how to convert a String to MD5 Hashes in Android.

A brief introduction to MD5 :

MD5 stands for ‘Message Digest algorithm 5’.

The MD5 algorithm is used as a cryptographic hash function or a file fingerprint. Often used to encrypt

Often used to encrypt the password in databases, MD5 can also generate a fingerprint file to ensure that a file is the same after a transfer for example.

MD5 means a 128-bit encryption algorithm, generating a 32-character hexadecimal hash.

Although MD5 was initially designed to be used as a cryptographic hash function, it has been found to suffer from extensive vulnerabilities. It can still be used as a checksum to verify data integrity, but only against unintentional corruption.

It can still be used as a checksum to verify data integrity, but only against unintentional corruption.

Like most hash functions, MD5 is neither encryption nor encoding. It can be cracked by brute-force attack and suffers from extensive vulnerabilities.

With all this being said, let’s have a look at what you exactly need to do to convert a  String to MD5 Hashes. This indeed is very easy.

APPROACH :      

  1. Get an Instance of the MessageDigest class of the package “java.security.MessageDigest”.
  2. Pass the bytecode of your string in the update method [update()] of this Instance
  3. Create a byte array and allocate it the value returned by the digest method[digest()] of the same Instance.With these steps only your MD5 Hash has been generated, but this is in byte array form, so in order to get all data in a sing le variable we will convert all this data into a String and then return the same.
  4. Create a new Object of StringBuffer or StringBuilder.
  5. Traverse the byte array earlier created and append values in you Object.
  6. Return the value returned by the toString method on this Object.

Now Let’s have a look at the code:

CODE :

You can Definitely use StringBuilder class to create the returned String.

That’s All.
Keep Coding And Keep Sharing.

Sources : https://en.wikipedia.org/

https://stackoverflow.com/a/4846511

. . .

Leave a Comment

Your email address will not be published. Required fields are marked*


2 comments

  • Pierre
    Thanks for your solution, but your md5 method has a bug:
    The Integer.toHexString returns only one digit when the value is lower than 10, and so the md5 hash returned should be false
    You can use String.format(“%02X”, messageDigest[i]) instead

    The “0xFF & ” is unusefull because messageDigest is a byte array

    • anchit (Moderator)

      Hey Pierre,

       

      Thanks for this wonderful and correct observation.

      I have updated the blog.

  • css.php

    Excellent work, fast, good quality and understood the brief perfectly! Quick responses developing the project and very good cooperation. I suggest to anyone.

    Stathis Plakidas

    Stathis Plakidas

    Talk to Sales

    Global

    Live Chat
    Start a Project


      Message Sent!

      If you have more details or questions, you can reply to the received confirmation email.

      Back to Home