📜  Java中的 DigestOutputStream getMessageDigest() 方法及示例

📅  最后修改于: 2022-05-13 01:55:04.397000             🧑  作者: Mango

Java中的 DigestOutputStream getMessageDigest() 方法及示例

Java.security.DigestOutputStream类的getMessageDigest()方法提供了分配给此DigestOutputStream 对象的MessageDigest。

句法:

public MessageDigest getMessageDigest()

返回值:此方法返回分配给它的MessageDigest 对象

注意:本文中的所有程序都不会在在线 IDE 上运行,因为不存在“名称”文件。您可以在系统上的Java编译器上检查此代码。要检查此代码,请在您的系统上创建一个文件“名称”。

下面是说明getMessageDigest()方法的示例:

示例 1:

// Java program to demonstrate
// getInstance() method
  
import java.security.*;
import java.util.*;
import java.io.*;
  
public class GFG {
    public static void main(String[] argv)
    {
  
        try {
  
            // creating the object of MessageDigest
            // and getting instance
            // By using getInstance() method
            MessageDigest sr
                = MessageDigest.getInstance("MD5");
  
            // creating and initializing
            // object of OutputStream
            OutputStream is
                = new FileOutputStream("f:/java/name.txt");
  
            // creating and initializing
            // object of DigestOutputStream
            DigestOutputStream di
                = new DigestOutputStream(is, sr);
  
            // getting the message digest
            // using getMessageDigest() method
            MessageDigest str
                = di.getMessageDigest();
  
            // display the result
            System.out.println("Status : "
                               + str.toString());
        }
  
        catch (NoSuchAlgorithmException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (NullPointerException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (FileNotFoundException e) {
  
            System.out.println("Exception thrown : " + e);
        }
    }
}
输出:
Status : MD5 Message Digest from SUN, 

示例 2:

// Java program to demonstrate
// getInstance() method
  
import java.security.*;
import java.util.*;
import java.io.*;
  
public class GFG {
    public static void main(String[] argv)
    {
  
        try {
  
            // creating the object of MessageDigest
            // and getting instance
            // By using getInstance() method
            MessageDigest sr
                = MessageDigest.getInstance("SHA-1");
  
            // creating and initializing
            // object of OutputStream
            OutputStream is
                = new FileOutputStream("f:/java/name.txt");
  
            // creating and initializing
            // object of DigestOutputStream
            DigestOutputStream di
                = new DigestOutputStream(is, sr);
  
            // getting the message digest
            // using getMessageDigest() method
            MessageDigest str
                = di.getMessageDigest();
  
            // display the result
            System.out.println("Status : "
                               + str.toString());
        }
  
        catch (NoSuchAlgorithmException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (NullPointerException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (FileNotFoundException e) {
  
            System.out.println("Exception thrown : " + e);
        }
    }
}
输出:
Status : SHA-1 Message Digest from SUN, 

参考: https://docs.oracle.com/javase/9/docs/api/ Java/security/DigestOutputStream.html#getMessageDigest–