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-