Java中的 MessageDigest isEqual() 方法及示例
Java.security.MessageDigest类的isEqual()方法用于测试两个消息摘要是否相等。
句法:
public static boolean
isEqual(byte[] digesta, byte[] digestb)
参数:此方法采用 2 字节数组进行比较。
返回值:此方法提供布尔值,如果两个摘要相等则为 true,否则为 false。
下面是说明 isEqual() 方法的示例:
示例 1:对于相等的摘要值
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 getAlgorithm() 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);
}
}
}
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 getAlgorithm() 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);
}
}
}
输出:
msd1 is equals to msd2
示例 2:对于不相等的摘要值
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 getAlgorithm() 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);
}
}
}
输出:
msd1 is not equals to msd2
参考: https://docs.oracle.com/javase/9/docs/api/ Java/security/MessageDigest.html#isEqual-byte:A-byte:A-