📌  相关文章
📜  Java中的 Provider.Service getClassName() 方法及示例

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

Java中的 Provider.Service getClassName() 方法及示例

Java.security.Provider.Service类的getClassName()方法用于返回使用其提供者服务的类的指定名称。

句法:

public final String getClassName()

返回值:该方法返回指定的类名

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

示例 1:

// Java program to demonstrate
// getClassName() method
  
import java.security.*;
import java.util.*;
  
public class GFG1 {
    public static void main(String[] argv)
    {
        try {
  
            // creating the object of Signature
            Signature sr
                = Signature.getInstance(
                    "SHA1withDSA",
                    "SUN");
  
            // getting the Provider of the Signature sr
            // by using method getProvider()
            Provider provider = sr.getProvider();
  
            // getting the service of the provider
            // using getServices() method
            Provider.Service service
                = provider
                      .getService("Signature",
                                  sr.getAlgorithm());
  
            // getting class name of Provider.Service object
            // by using getClassName() method
            String name = service.getClassName();
  
            // display the result
            System.out.println("Name of the class : "
                               + name);
        }
  
        catch (NoSuchAlgorithmException e) {
            System.out.println("Exception thrown : " + e);
        }
        catch (NoSuchProviderException e) {
            System.out.println("Exception thrown : " + e);
        }
    }
}
输出:
Name of the class : sun.security.provider.DSA$SHA1withDSA

示例 2:

// Java program to demonstrate
// getClassName() method
  
import java.security.*;
import java.util.*;
  
public class GFG1 {
    public static void main(String[] argv)
    {
        try {
  
            // creating object of MessageDigest
            MessageDigest msd
                = MessageDigest.getInstance("MD5");
  
            // getting the Provider of the Signature sr
            // by using method getProvider()
            Provider provider = msd.getProvider();
  
            // getting the service of the provider
            // using getServices() method
            Provider.Service service
                = provider
                      .getService("MessageDigest",
                                  msd.getAlgorithm());
  
            // getting class name of Provider.Service object
            // by using getClassName() method
            String name = service.getClassName();
  
            // display the result
            System.out.println("Name of the class : "
                               + name);
        }
  
        catch (NoSuchAlgorithmException e) {
            System.out.println("Exception thrown : "
                               + e);
        }
    }
}
输出:
Name of the class : sun.security.provider.MD5

参考: https://docs.oracle.com/javase/9/docs/api/ Java/security/Provider.Service.html#getClassName–