Updated 1 May 2023
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.
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.
Now Let’s have a look at the code:
1 2 3 |
String string_to_be_converted_to_MD5 = "REPLACE_WITH YOUR_OWN_STRING"; String MD5_Hash_String = md5(string_to_be_converted_to_MD5); System.out.println(MD5_Hash_String); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
public String md5(String s) { try { // Create MD5 Hash MessageDigest digest = java.security.MessageDigest.getInstance("MD5"); digest.update(s.getBytes()); byte messageDigest[] = digest.digest(); // Create Hex String StringBuffer hexString = new StringBuffer(); for (int i=0; i<messageDigest.length; i++) hexString.append(String.format(“%02X”, messageDigest[i])); return hexString.toString(); }catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return ""; } |
You can Definitely use StringBuilder class to create the returned String.
That’s All.
Keep Coding And Keep Sharing.
Sources : https://en.wikipedia.org/
If you have more details or questions, you can reply to the received confirmation email.
Back to Home
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