Open In App

MessageDigest isEqual() method in Java with Examples

Last Updated : 01 Feb, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

The isEqual() method of java.security.MessageDigest class is used to test if two message digest are equal or not.
 

Syntax:  

public static boolean
  isEqual(byte[] digesta, byte[] digestb)

Parameters: This method takes 2 byte arrays for comparison.
Return Value: This method provides the Boolean value, true if both digests are equal otherwise false.
 

Below are the examples to illustrate the isEqual() method:
Example 1: For Equal Digest Values  

Java




// Java program to demonstrate
// isEqual() method
 
import java.security.*;
import java.util.*;
 
public class GFG1 {
    public static void main(String[] argv)
    {
        try {
 
            // creating object of MessageDigest
            MessageDigest msd1
                = MessageDigest.getInstance("SHA-256");
 
            // creating object of MessageDigest
            MessageDigest msd2
                = MessageDigest.getInstance("SHA-256");
 
            // getting provider used in object msd
            // using isEqual() method
            boolean status
                = MessageDigest
                      .isEqual(msd1.digest(),
                               msd2.digest());
 
            // check the condition
            if (status)
                System.out.println("msd1 is equals to msd2");
            else
                System.out.println("msd1 is not equals to msd2");
        }
 
        catch (NoSuchAlgorithmException e) {
 
            System.out.println("Exception thrown : " + e);
        }
        catch (ProviderException e) {
 
            System.out.println("Exception thrown : " + e);
        }
    }
}


Output: 

msd1 is equals to msd2

 

Example 2: For Unequal Digest Values 

Java




// Java program to demonstrate
// isEqual() method
 
import java.security.*;
import java.util.*;
 
public class GFG1 {
    public static void main(String[] argv)
    {
        try {
 
            // creating object of MessageDigest
            MessageDigest msd1
                = MessageDigest.getInstance("MD5");
 
            // creating object of MessageDigest
            MessageDigest msd2
                = MessageDigest.getInstance("SHA-256");
 
            // getting provider used in object msd
            // using isEqual() method
            boolean status
                = MessageDigest.isEqual(msd1.digest(),
                                        msd2.digest());
 
            // check the condition
            if (status)
                System.out.println("msd1 is equals to msd2");
            else
                System.out.println("msd1 is not equals to msd2");
        }
 
        catch (NoSuchAlgorithmException e) {
 
            System.out.println("Exception thrown : " + e);
        }
        catch (ProviderException e) {
 
            System.out.println("Exception thrown : " + e);
        }
    }
}


Output: 

msd1 is not equals to msd2

 

Reference: https://docs.oracle.com/javase/9/docs/api/java/security/MessageDigest.html#isEqual-byte:A-byte:A-



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads