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

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

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

Java.security.Provider.Service类的getAttribute()方法用于返回在此方法中传递的特定属性名称的属性值。

句法:

public final String getAttribute(String name)

返回值:此方法返回特定属性类型的

以下是说明getAttribute()方法的示例:

示例 1:

// Java program to demonstrate
// getAttribute() 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 algorithm of Provider.Service object
            // by using getAlgorithm() method
            String algo = service.getAttribute("KeySize");
  
            // display the result
            System.out.println("KeySize is : " + algo);
        }
  
        catch (NoSuchAlgorithmException e) {
            System.out.println("Exception thrown : " + e);
        }
        catch (NoSuchProviderException e) {
            System.out.println("Exception thrown : " + e);
        }
    }
}
输出:
KeySize is : 1024

示例 2:

// Java program to demonstrate
// getAttribute() 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 algorithm of Provider.Service object
            // by using getAlgorithm() method
            String algo
                = service.getAttribute("ImplementedIn");
  
            // display the result
            System.out.println("ImplementedIn : "
                               + algo);
        }
  
        catch (NoSuchAlgorithmException e) {
            System.out.println("Exception thrown : "
                               + e);
        }
    }
}
输出:
ImplementedIn : Software

参考: https://docs.oracle.com/javase/9/docs/api/ Java/security/Provider.Service.html#getAttribute-java.lang.String-